我有一個擁有450,000條記錄的用戶表。表結構如下:Mysql子查詢優化
UserID Int(11) Primary Key
Firstname (50) Varchar
Lastname (50) Varchar
我還需要檢查兩個其他表,以查看UserID是否在這些表中。 (結構有點不同,但表格具有相同的UserID) 我在下面運行此子查詢,並且運行速度非常慢。欣賞第二組的眼睛提供了一個全新的視角,幫助跑快一點的...
SELECT
`Users`.`Firstname`,
`Users`.`Lastname`,
`Users`.`UserID`
FROM `Users`
WHERE `Users`.`UserID` IN (SELECT `admin`.`UserID` FROM `admin` WHERE `admin`.`UserID`=`User`.`UserID`)
AND `Users`.`UserID` IN (SELECT `elite`.`UserID` FROM `elite` WHERE `elite`.`UserID`=`Users`.`UserID`)
AND `Users`.`Lastname` LIKE '%smith%'
你有什麼指標在桌子上?爲每個表發佈'SHOW CREATE TABLE ...',併發布'EXPLAIN SELECT ...'輸出。 – 2012-04-09 13:58:38