以下查询只花了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。
答案 0 :(得分:0)
这是mysql的常见限制,不建议使用大的IN子句。创建一个临时表,然后加入它。小心复制临时表,很可能没有必要复制它,它可能导致滞后。