【发布时间】:2015-08-24 16:18:34
【问题描述】:
下面的查询只用了 0.04 秒
SELECT A.*
FROM `TABLE1`
JOIN TABLE2 ON ( TABLE1.ID = TABLE2.ID )
WHERE `COL1` ='1'
下一个查询需要 4 秒
SELECT A.* FROM `TABLE1`
JOIN TABLE2 ON ( TABLE1.ID = TABLE2.ID )
WHERE `COL1` ='1' and col2 not in (....ard 4k integers...P
最大时间花在统计上(3 秒以上),这可能意味着寻找最佳查询路径。
我使用的是 MySQL 5.5.25,只是想知道这是否是一个错误。
【问题讨论】:
-
尝试创建覆盖索引为
alter table TABLE1 add index col1_col2_idx(col1,col2).. 假设ID为主键,然后查看性能。