berkut
Новичок
оптимизация WHERE + GROUP BY
приветствую! Подскажите, как оптимизировать запрос:
таблица:
Explain выдаёт:
В реальной таблице около 500000 записей, тормозит жутко. Не понимаю, почему не использует KEY `partner_id` (`partner_id`), хотя WHERE и GROUP BY идут по этому полю. Не помогает USE INDEX
приветствую! Подскажите, как оптимизировать запрос:
Код:
SELECT partner_id, SUM(warning)
FROM `stat`
WHERE partner_id IN (1, 2, 3, 4, 5)
GROUP BY partner_id
Код:
CREATE TABLE `stat` (
`id` int(11) unsigned NOT NULL auto_increment,
`partner_id` int(11) unsigned NOT NULL default '0',
`day_num` tinyint(3) unsigned NOT NULL default '0',
`time` int(11) unsigned NOT NULL default '0',
`average` float(5,2) unsigned NOT NULL default '0.00',
`today` int(11) unsigned NOT NULL default '0',
`sum` float(6,3) unsigned NOT NULL default '0.000',
`warning` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `partner_id` (`partner_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
Код:
["id"]=>
string(1) "1"
["select_type"]=>
string(6) "SIMPLE"
["table"]=>
string(14) "stat"
["type"]=>
string(3) "ALL"
["possible_keys"]=>
string(10) "partner_id"
["key"]=>
NULL
["key_len"]=>
NULL
["ref"]=>
NULL
["rows"]=>
string(1) "2"
["Extra"]=>
string(44) "Using where; Using temporary; Using filesort"