
从一定数量的记录开始,a上的
IN谓词
SELECt变得比常量列表上的谓词更快。
有关性能比较,请参阅我的博客中的这篇文章:
- 在MySQL中传递参数:IN列表与临时表
如果在
IN子句中查询中使用的列已建立索引,如下所示:
SELECT *FROM table1WHERe unindexed_column IN ( SELECt indexed_column FROM table2 )
,则此查询仅被优化为一个
EXISTS(对于的每个记录仅使用一个条目
table1)
不幸的是,
MySQL它不能执行任务
HASH SEMI JOIN或
MERGE SEMI JOIN效率更高(特别是如果两个列都已索引)。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)