問候朋友,優化簡單的SQL查詢?
在我的MySQL數據庫中,我有'MAB'表,其中包含有關基因ID(GI_ID)的信息以及其他一些基因相關信息。
'MAB_CAN'表可以包含僅與癌症相關的基因ID(GI_ID)。
我用下面的SQL查詢,從MAB表得癌症相關的信息:
SELECT * FROM MAB WHERE `GI_ID` IN (SELECT `GI ID` FROM `MAB_CAN`)
大約需要14秒這個查詢,這是太長(1605個記錄)。
但是下面的獨立查詢需要很短的時間。
SELECT
GI_ID
FROMMAB_CAN
WHERE 1
- 0.0005秒(1605個記錄)
SELECT * FROM
MAB
WHERE 1
- 0.0007秒(31,043條記錄)
優化我的第一個查詢的任何提示?
使用EXPLAIN來看看你的查詢是如何通過數據庫執行。現在你可以優化你的查詢和索引。 – 2010-03-04 09:02:44