在最佳路径上花费太多时间

时间:2015-06-09 17:32:56

标签: mysql mysql5 mysql-5.5

以下查询只花了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,只是想知道这是不是一个bug。

1 个答案:

答案 0 :(得分:0)

这是mysql的常见限制,不建议使用大的IN子句。创建一个临时表,然后加入它。小心复制临时表,很可能没有必要复制它,它可能导致滞后。