hammet
Новичок
Профилирование запроса
Запрос, который считает количество строк в таблице объявлений, содержащих букву "о" в одном из 3х текстовых полей, выполняется за 1,03 сек.
Я сделал профилирование запроса в PhpMyAdmin.
Вот результаты:
как видите end после sending data занимает 99% времени выполнения...
что означает это "end"?
На что следует обратить внимание?
сам запрос:
[sql]
SELECT (
SELECT
COUNT(t1.id)
FROM
gloker_announcements AS t1
LEFT OUTER JOIN
gloker_regions_list AS t4 ON (t1.region=t4.id)
LEFT OUTER JOIN
gloker_regions_list AS t5 ON (t1.city=t5.id),
gloker_rubrikator_list AS t2,
gloker_rubrikator_list AS t3
WHERE
t1.enable=1
AND t1.country=673 AND ((t1.head LIKE "%о%" OR t1.body LIKE "%о%" OR t1.fullsrch LIKE "%о%") )
AND
t1.rubrika=t2.id AND
t1.sub_rub=t3.id
) AS count
[/sql]
Запрос, который считает количество строк в таблице объявлений, содержащих букву "о" в одном из 3х текстовых полей, выполняется за 1,03 сек.
Я сделал профилирование запроса в PhpMyAdmin.
Вот результаты:
PHP:
checking permissions 0.00011625
Opening tables 0.00001050
System lock 0.00002750
Table lock 0.00001350
init 0.00001675
optimizing 0.00007375
executing 0.00000925
optimizing 0.00001225
statistics 0.00003300
preparing 0.00016200
executing 0.00003350
Sending data 0.00001125
end 1.02732650
query end 0.00001775
freeing items 0.00000850
closing tables 0.00002450
logging slow query 0.00001675
cleaning up 0.00000675
что означает это "end"?
На что следует обратить внимание?
сам запрос:
[sql]
SELECT (
SELECT
COUNT(t1.id)
FROM
gloker_announcements AS t1
LEFT OUTER JOIN
gloker_regions_list AS t4 ON (t1.region=t4.id)
LEFT OUTER JOIN
gloker_regions_list AS t5 ON (t1.city=t5.id),
gloker_rubrikator_list AS t2,
gloker_rubrikator_list AS t3
WHERE
t1.enable=1
AND t1.country=673 AND ((t1.head LIKE "%о%" OR t1.body LIKE "%о%" OR t1.fullsrch LIKE "%о%") )
AND
t1.rubrika=t2.id AND
t1.sub_rub=t3.id
) AS count
[/sql]