表結構:MySQL查詢運行得更快
CREATE TABLE IF NOT EXISTS `logs` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`user` bigint(20) unsigned NOT NULL,
`type` tinyint(1) unsigned NOT NULL,
`date` int(11) unsigned NOT NULL,
`plus` decimal(10,2) unsigned NOT NULL,
`minus` decimal(10,2) unsigned NOT NULL,
`tax` decimal(10,2) unsigned NOT NULL,
`item` bigint(20) unsigned NOT NULL,
`info` char(10) NOT NULL,
PRIMARY KEY (`id`),
KEY `item` (`item`),
KEY `user` (`user`),
KEY `type` (`type`),
KEY `date` (`date`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 ROW_FORMAT=FIXED;
查詢:
SELECT logs.item, COUNT(logs.item) AS total FROM logs WHERE logs.type = 4 GROUP BY logs.item;
表保持110K記錄哪些50K型4記錄。 執行時間:0.13秒
我知道這很快,但我可以讓它更快嗎?
我期待100萬條記錄,因此時間會增長很多。
您可以優化與索引你的代碼檢查此鏈接http://dev.mysql.com/doc/refman/5.0/en/group-by-optimization.html –
爲u可以在表模式看我已經添加了索引。 – transilvlad