问候朋友,优化简单的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