这与IN子句的长度有关 - 在MySQL中有时也称为BUG.
MySQL似乎具有IN子句的低阈值,当它将交换到TABLE/INDEX SCAN而不是收集多个分区(每个IN项一个)并合并它们时.
使用INNER JOIN,它几乎总是被迫在JOIN集合中使用直接逐行,这就是它有时更快的原因
请参阅这些MySQL手册页
我可能是错的,因为它似乎暗示IN (constant value list)
应该总是在每个项目上使用二进制搜索...
归档时间: |
|
查看次数: |
3491 次 |
最近记录: |