我的數據庫擁有20000條記錄的表名稱事務。當我運行此查詢緩慢依賴的子查詢 - 如何提高性能?
SELECT T1.* FROM transactions AS T1
WHERE T1.ppno IN
(SELECT T2.PPNO FROM transactions AS T2
WHERE T2.ppno = T1.ppno
HAVING COUNT(T2.ppno) = $doublescount)
ORDER BY T1.ppno,T1.numb
它需要至少3分鐘運行....如何加快此查詢。 PLZ幫助
編輯1: show create table transactions
回報爲
CREATE TABLE `transactions` (
`eidx` int(10) unsigned NOT NULL,
`numb` int(10) unsigned NOT NULL,
`date` date NOT NULL,
`time` varchar(45) NOT NULL,
`name` varchar(45) NOT NULL,
`add1` varchar(45) NOT NULL,
`add2` varchar(45) NOT NULL,
`city` varchar(45) NOT NULL,
`phno` varchar(45) NOT NULL,
`nati` varchar(45) NOT NULL,
`ppno` varchar(45) NOT NULL,
`cuam` varchar(45) NOT NULL,
`tcam` varchar(45) NOT NULL,
`valu` varchar(45) NOT NULL,
`srch` varchar(45) NOT NULL,
`stax` varchar(45) NOT NULL,
`taxp` varchar(45) NOT NULL,
`roun` varchar(45) NOT NULL,
`amnt` varchar(45) NOT NULL,
`encd` varchar(45) NOT NULL,
`mocd` varchar(45) NOT NULL,
`endt` varchar(45) NOT NULL,
`modt` varchar(45) NOT NULL,
`sflg` varchar(5) NOT NULL,
`category` varchar(45) NOT NULL DEFAULT 'NA',
`branch` varchar(10) NOT NULL,
PRIMARY KEY (`numb`,`branch`,`date`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED
ppno場均指標吧? –
@hexa im不知道....什麼是索引...非常抱歉 – Rajasekar
我的意思是索引 –