PHP + MySQL, попытка найти спринтера )

Статус
В этой теме нельзя размещать новые ответы.

B1rdEX

Постоялец
Регистрация
30 Июн 2008
Сообщения
141
Реакции
31
Итак, разведем дискуссию.. )

Интересует опыт/мнения знающих людей, чем лучше забирать результаты mysql запросов (mysql_fetch_row, mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object, mysql_result).

По каждой функции выслушаю мнения.. Интересует что же быстрее всего, по вашему мнению или опыту.


Сам использую mysql_fetch_assoc и mysql_result, исходя из количества возвращаемых полей. Ибо mysql_result на 1-2 полях рулит ;)
 
mysql_fetch_row - аналог mysql_fetch_array($result, MYSQL_NUM))
mysql_fetch_array - аналог mysql_fetch_array($result, MYSQL_ASSOC))
разницы по скорости не заметил ни какой да и man
Важно заметить, что mysql_fetch_array() работает НЕ медленнее, чем mysql_fetch_row(), в то время, как предоставляет более удобный доступ к данным.
говорит сам за себя.

mysql_result использую только при выборе одного значения (бывает крайне редко).

mysql_fetch_object - практически аналог mysql_fetch_array, немного устапает только на очень больших объёмах.
 
Обычно юзаю mysql_fetch_assoc. По скорости разницы с другими никакой(ИМХО). но для наглядности при отладке намного удобнее. Особенно когда запросом возвращается действительно большой аррай :)
Изредка mysql_result.
 
Пробовал все и разницы в скорости никогда не замечал...
 
Официальный мануал с php.net гласит:

Важно заметить, что mysql_fetch_assoc() работает НЕ медленнее, чем mysql_fetch_row(), предоставляя более удобный доступ к данным.

Да и обращаться к данным с помощью этой функции удобнее, чем через mysql_fetch_row (если конечно в последствии не используется цикл для обработки полученных данных)
 
Да и обращаться к данным с помощью этой функции удобнее, чем через mysql_fetch_row (если конечно в последствии не используется цикл для обработки полученных данных)

Да как правило цикл всегда и идет. Очень удобно юзать foreach цикл - не нужно заботиться о размерах и удобно обращаться к элементам, хотя по бенчам он вроди медленнее обычного for. Энибади проводил реальные тесты на эту тему? Интересно было-бы составить 2 связки ленивую и быструю :)
 
Если не всовывать в определение for функций, то на разницу между for и foreach можно забить.
 
да и оптимизация эта мягко говоря слабая. Смотреть больше надо на SQL-запросы и алгоритмы, плюс надо особое внимание уделять алгоритмам внутри цикла (особенно если цикл имеет более 30 шагов).
 
О каких запросах идет речь?

о простых, выполняемых по 50 штук на страницу.
Или о запросах с кучей джойнов и юнионов?


В последнем случаем мне кажется вообще побоку.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху