В настоящий момент я работаю над сайтом, и сосредоточен внимание на эффективности и быстроте загрузки, обработки и т. Д.
Я использую расширение mysqli для получения битов базы данных и бобов, но мне интересно, какой лучший / самый эффективный способ вывода моего набора данных?
На данный момент я использую $ mysqli-> fetch_assoc () и foreach (). Прочитав http://www.phpbench.com, я знаю, что сначала подсчет моих данных имеет значение. (Я собираюсь оптимизировать после сборки)
Мой вопрос заключается в том, что быстрее получить набор результатов в файл данных php. Создание объекта? Численный массив? Ассоциативный массив? Мои мысли – это объект, но я не уверен.
Просто любопытно, поскольку я не знаком с внутренними компонентами PHP 🙂
В комментариях к mysql_fetch_object
есть небольшая контрольная mysql_fetch_object
в документации PHP:
SELECT * FROM bench... (mysql_fetch_object)
Время запроса: 5.40725040436
Время приема: 16.2730708122 (avg: 1.32130565643E-5)
Общее время: 21.6803212166
SELECT * FROM bench... (mysql_fetch_array)
Время запроса: 5.37693023682
Время приема: 10.3851644993 (avg: 7.48886537552E-6)
Общее время: 15.7620947361
SELECT * FROM bench... (mysql_fetch_assoc)
Время запроса: 5.345921278
Время приема: 10.6170959473 (средн.: 7.64049530029E-6)
Общее время: 15.9630172253
Извлечение объекта происходит медленнее, выборка числового массива, вероятно, немного быстрее, чем использование mysql_fetch_array
или mysql_fetch_assoc
, но разница незначительна. Фактически, mysql_fetch_array
извлекает как mysql_fetch_array
так и числовые значения, и это быстрее, чем mysql_fetch_assoc
, идите в цифру. Но если вы после производительности, просто не используйте mysql_fetch_object
.
На странице руководства mysql_fetch_object()
Примечание. Производительность
Скоростной, функция идентична mysql_fetch_array () и почти так же быстро, как mysql_fetch_row () (разница незначительна)
Как показывает эталон, предложенный Тату, есть небольшая разница, но имейте в виду, что цифры были накоплены из 100 последовательных запросов. Я бы сказал, что ваша стратегия не беспокоить сейчас и оптимизировать позже – хороший выбор.
Я считаю, что числовой массив, вероятно, будет самым легким, за которым последует ассоциативный массив, а затем объект. Я не думаю, что различия будут много, так что какой бы синтаксис вам больше всего понравился, лучше всего.