緩慢性能比較我有如下表所示百萬行:MySQL在大桌子
CREATE TABLE `points` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`DateNumber` int(10) unsigned DEFAULT NULL,
`Count` int(10) unsigned DEFAULT NULL,
`FPTKeyId` int(10) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`),
KEY `index3` (`FPTKeyId`,`DateNumber`) USING HASH
) ENGINE=InnoDB AUTO_INCREMENT=16755134 DEFAULT CHARSET=utf8$$
正如你可以看到我已經創建的索引。我不知道我做得對不對。 問題是查詢執行速度超慢。
讓我們來簡單的查詢
SELECT fptkeyid, count FROM points group by fptkeyid
我cannt得到的結果,因爲通過查詢超時(10分鐘)中止。我做錯了什麼?
注意:'PRIMARY KEY'在默認情況下始終是唯一的,所以'UNIQUE KEY(id)'很可能是不必要的。 – biziclop
我搜索了'mysql group by by not using index',發現這個很好,很長的閱讀:http://dev.mysql.com/doc/refman/5.0/en/group-by-optimization.html – biziclop
請添加基本信息,所以我們可以回答這個問題。顯示一些示例行,對查詢的解釋,硬件的一般概念以及您在發佈之前所做的一些測量。這樣你就可以得到更適合你情況的具體答案。 –