MySQL IN条件限制


Answers:


107

没有,请查看有关IN功能手册

IN列表中的值数仅受max_allowed_pa​​cket值限制。


因此,例如,如果我有一个带有的更新where id IN (14000 ids),它将一直工作到更新查询小于64MB(这是默认值),对吗?
Oleg Abrazhaev

1
@OlegAbrazhaevIN关键字没有任何内置限制,但是可能还有其他限制,例如max_allowed_packet可能间接限制值的数量。如果将此值设置为1024(字节),则只能有效地使用有限数量的值。
Progman

20

据我所知,在mysql中,IN语句中的项目没有限制。

在oracle中,该IN语句中最多可以包含1000个项目。

但是中的更多项目IN,除非对该索引建立索引,否则查询性能将降低。


3
取决于,如果IN是搜索主键,则快速原因是从索引返回
ajreal

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.