我知道SQL IN子句中有1000个项目的限制。
目前,我在选择查询的“IN
”子句中使用逗号分隔的项目字符串,我想更改它。
所以,我找到了this,其中指出要使用JOIN
或在IN
内传递查询。
哪一个应该是首选?
编辑(另一个问题):
在“IN
”子句中传递查询并在“IN
”子句中传递逗号分隔参数有什么区别?
答案 0 :(得分:1)
数据库优化器将以相同的方式执行这两种变体。你可以使用看起来更好的那个。 :)
答案 1 :(得分:0)
当您在“In子句”中放入查询时,数据库需要首先计算此查询,然后根据结果计算“主查询”。 如果将值放在“In子句”中,则数据库dost需要计算其他查询。
关于在in子句中加入查询的问题,数据库会将它们优化为相同。