{% else-1 %}
(13 янв 2013, 18:36) (0/0) [0]
Вообщем сегодня я проводил тестирование по оптимизации MySQL запросов.Тест проходил на денвере с таблицой в которой 5 000 000 записей*

Прежде всего хочу сказать что все предыдущие статьи которые я читал на 80% не опровдали своих надежд.Да действительно некоторые запросы выполнялись быстрей,а некоторые медленей.
Из всех функций меня особо поразила функция mysql_num_rows() Эта функция подсчитует количество записей в таблице.Перейдём к делу.

Составив следующий запрос:

mysql_result(mysql_query(\"SELECT COUNT(*) FROM `table`\"*,0)

Я увидел что 5 000 000 записей посчитало за 0.004 секунды.Это очень хороший результат для такого количества записей.

Далее я составил следующий запрос:

mysql_num_rows(mysql_query(\"SELECT * FROM `table`\"*)

Я очень-очень сильно удивился.Генерация страницы составляла 4.254 секунды.Разница действительно велика.

Далее я составлял кучу запросов в которых небыло больших изменений,например:

[b]
SELECT COUNT(*) FROM `table`[/b]

И

[b]
SELECT COUNT(id) FROM `table`[/b]
Сильно не отличаются,разница приблизительно в 0.0002 сек.Или например вот:


[b]
SELECT `id` FROM `table`[/b]

И

[b]
SELECT * FROM `table`[/b]

Также как и предыдущие запросы отличаются на 0.0002 секунд.


Вывод: большого отличия во времени генерации страницы от того как составлен запрос НЕТ,но есть огромная разница в использовании функций,пример приведён выше.Также генерация зависит от вашего хостинга,например на моём хосте страницы генерировались приблизительно за 0.01 а на денвере за 0.001 Поэтому если ваш сайт долго грузится то причиной всему этому будет ваш хостинг,но не оптимизация скрипта.
  • 1 из 1