|
|
|
| есть запрос
SELECT
`i`.`id`,`i`.`parentid`,`i`.`title`,
`c`.`title` AS `ptitle`,
(SELECT COUNT(*) FROM `objects` AS `a` WHERE `categid` = `i`.`id` AND `a`.`statusid` = 2) AS `ccount`
FROM `menuitems` AS `i`
LEFT JOIN `menuitems` AS `c` ON `c`.`id` = `i`.`parentid`
WHERE `i`.`parentid`>0 ORDER BY `i`.`parentid`, `i`.`id`
|
без выборки количества записей работает молниеносно, но вот с оной очень сильно тормозит.
Возможно ли его переписать пошустрее чтоб он работал?
если нет есть идея сохранять количество записей гдето в файле и обновлять например раз в сутки, но это скорее от отчаяния :)
база там большая на 10 000 записей поэтому то так и тормозит | |
|
|
|
|
|
|
|
для: skinny
(04.09.2013 в 12:26)
| | вроде сам разобрался
SELECT
`i`.`id`,`i`.`parentid`,`i`.`title`,
`c`.`title` AS `ptitle`,
COUNT(`o`.`id`) AS `ocount`
FROM `menuitems` AS `i`
JOIN `menuitems` AS `c` ON `c`.`id` = `i`.`parentid`
JOIN `objects` AS `o` ON `o`.`categid` = `i`.`id`
WHERE (`i`.`parentid`>0)
GROUP BY `i`.`id`
ORDER BY `i`.`parentid`, `i`.`id`
|
| |
|
|
|