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

Тема в разделе "PHP Pro", создана пользователем B1rdEX, 20 авг 2008.

Статус темы:
Закрыта.
  1. B1rdEX

    B1rdEX Постоялец

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

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

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


    Сам использую mysql_fetch_assoc и mysql_result, исходя из количества возвращаемых полей. Ибо mysql_result на 1-2 полях рулит ;)
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    mysql_fetch_row - аналог mysql_fetch_array($result, MYSQL_NUM))
    mysql_fetch_array - аналог mysql_fetch_array($result, MYSQL_ASSOC))
    разницы по скорости не заметил ни какой да и man
    говорит сам за себя.

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

    mysql_fetch_object - практически аналог mysql_fetch_array, немного устапает только на очень больших объёмах.
     
  3. megadude

    megadude

    Регистр.:
    6 сен 2006
    Сообщения:
    184
    Симпатии:
    65
    Обычно юзаю mysql_fetch_assoc. По скорости разницы с другими никакой(ИМХО). но для наглядности при отладке намного удобнее. Особенно когда запросом возвращается действительно большой аррай :)
    Изредка mysql_result.
     
  4. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    Пробовал все и разницы в скорости никогда не замечал...
     
  5. HatoL

    HatoL

    Регистр.:
    5 фев 2008
    Сообщения:
    206
    Симпатии:
    36
    Официальный мануал с php.net гласит:

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

    megadude

    Регистр.:
    6 сен 2006
    Сообщения:
    184
    Симпатии:
    65
    Да как правило цикл всегда и идет. Очень удобно юзать foreach цикл - не нужно заботиться о размерах и удобно обращаться к элементам, хотя по бенчам он вроди медленнее обычного for. Энибади проводил реальные тесты на эту тему? Интересно было-бы составить 2 связки ленивую и быструю :)
     
  7. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Если не всовывать в определение for функций, то на разницу между for и foreach можно забить.
     
  8. HatoL

    HatoL

    Регистр.:
    5 фев 2008
    Сообщения:
    206
    Симпатии:
    36
    да и оптимизация эта мягко говоря слабая. Смотреть больше надо на SQL-запросы и алгоритмы, плюс надо особое внимание уделять алгоритмам внутри цикла (особенно если цикл имеет более 30 шагов).
     
  9. x@nder

    x@nder Постоялец

    Регистр.:
    3 апр 2007
    Сообщения:
    128
    Симпатии:
    5
    О каких запросах идет речь?

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


    В последнем случаем мне кажется вообще побоку.
     
Статус темы:
Закрыта.