我有folowwing SQL查詢的MySQL組由非常緩慢
SELECT CustomerID FROM sales WHERE `Date` <= '2012-01-01' GROUP BY CustomerID
該查詢超過1140萬行執行和運行速度非常慢。它需要3分多鐘才能執行。如果我刪除組,部分會在1秒以內運行。這是爲什麼?
MySQL服務器的版本是 '5.0.21社區-NT'
Here is the table schema:
CREATE TABLE `sales` (
`ID` int(11) NOT NULL auto_increment,
`DocNo` int(11) default '0',
`CustomerID` int(11) default '0',
`OperatorID` int(11) default '0',
PRIMARY KEY (`ID`),
KEY `ID` (`ID`),
KEY `DocNo` (`DocNo`),
KEY `CustomerID` (`CustomerID`),
KEY `Date` (`Date`)
) ENGINE=MyISAM AUTO_INCREMENT=14946509 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
你可以發表表架構(創建表的腳本) – 2012-04-23 10:34:31
不知道你是否發佈了實際的查詢。但是在這個查詢中,如果沒有分組函數,那麼'GROUP BY'需要什麼? – 2012-04-23 10:38:54
Aziz,我需要返回customerID的唯一值 – Treach 2012-04-23 10:44:43