CREATE TABLE `pages` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`parent_id` smallint(5) unsigned NOT NULL,
`type_page` tinyint(3) unsigned NOT NULL,
`name` varchar(255) NOT NULL,
`brand_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=13842 DEFAULT CHARSET=utf8;
В таблице есть и категории и товары ( `type_page`: 1-категория, 2-товар)
Делаю запрос на вывод категорий и количества товаров в каждой:
SELECT t1.`id`, (SELECT COUNT(*) FROM `pages` t2 WHERE t2.`parent_id` = t1.`id` AND t2.`type_page` = 2)
FROM `pages` t1 WHERE t1.`type_page` = 1
1) Во первых, он долгий, но судя по всему сократить его никак нельзя
2) Также смутило то, что при удалении поля `brand_name`, которое вообще роли не играет, на 30-40% быстрее запрос стал выполняться.
Подскажите, почему так происходит?
_____________
..Работает - не трогай!