2013-09-15 2 views
0

Я хочу, чтобы получить данные из базы данных, которая выглядит следующим образом:MySQLi скорость: несколько запросов или один

id - brand - type 
1 Airbus plane 
2 Boeing plane 
3 Fokker plane 
4 Toyota car 
5 Mustang car 
6 Peugeot car 
7 Sparta bike 

Теперь я хочу, например, выведите <hr/> всякий раз, когда тип отличается. Я могу сделать это двумя способами:

  • Один подготовленный оператор и установить переменную $current_type и проверить его значение с одним из базы данных
  • Три подготовленные заявления (для каждого типа, так как они не отличаются от плоскости, автомобиль, мотоцикл)

Какой самый быстрый? Я бы сказал, что первый, а второй делает мой код намного лучше. Могу ли я игнорировать разницу в скорости?

+1

Используйте один запрос и обрабатывайте остальные в своей php-логике. –

+0

Этот вопрос кажется не по теме, потому что речь идет о проведении быстрого теста, чтобы узнать. – PeeHaa

+0

Для небольших данных, таких как: выборка, группировка (в иерархию с использованием наиболее удобного), итерация (несколько уровней в соответствии с группировкой), отображение. Использование заказа (по индексу) может помочь справиться с * очень большими * потоковыми (если поддерживается) результирующими наборами и более простым алгоритмом группировки, но KISS. – user2246674

ответ

1

Первый, безусловно, быстрее, я бы предпочел иметь дополнительную временную переменную в моем PHP-коде, чем 2 дополнительных запроса. Разница может быть небрежной в вашем случае, но это не то, что я бы отказался от немного более аккуратного кода.

+0

Я не добавляю два дополнительных запроса. У меня все еще есть один, но он работает несколько раз, вызывая его в цикле for. Спасибо за комментарий кстати. – yoeriboven

Смежные вопросы