我知道SQL in子句中有1000个项目的限制。目前,我在select查询的"IN“子句中使用逗号分隔的项目字符串,我想要更改它。
因此,我找到了this,它声明要么使用JOIN,要么在IN内部传递查询。
哪一个应该是首选?
编辑(另一个问题):
在"IN“子句中传递查询和在"IN”子句中传递逗号分隔的参数有什么区别?
发布于 2012-07-25 19:44:53
数据库优化器将以相同的方式执行这两种变体。你可以用看起来更好的那个。:)
发布于 2012-07-24 15:49:00
当你把一个查询放在"In子句“中时,数据库需要先计算这个查询,然后根据结果计算出”主查询“。如果你把值放在"In子句“中,数据库需要计算额外的查询。
对于in子句中的连接查询,数据库将对它们进行优化,使其相同。
https://stackoverflow.com/questions/11625275
复制相似问题