以下查询仅花费了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
而最大的时间是花在统计上(3sec +),这可能意味着寻找最佳查询路径。
我正在使用MySQL 5.5.25,只想知道这是否是一个错误。
最佳答案
这是mysql的常见限制,建议不要使用大型IN子句。创建一个临时表,然后针对它联接。在复制临时表时要小心,最有可能不需要复制它,这可能会导致延迟。