具有众多值的 SQL WHERE col IN (...)
:性能和限制
使用具有大量值的 SQL WHERE col IN (...)
子句可能会导致性能问题。 数据库系统对 IN
列表的大小施加限制,超过这些限制可能会导致查询失败。 具体限制根据数据库系统不同有很大差异。
虽然 Microsoft SQL Server 拥有很高的限制(详细信息请参见https://www.php.cn/link/a6ed9258d53b17bac9cfd263432af8fa),但其他系统(例如 Oracle)可能更容易遇到限制。
为了避免这些问题并提高查询性能,尤其是对于大量 IN
列表,最佳实践是使用临时表。使用您的值填充此临时表,然后执行 JOIN
操作。 这种方法通常优于长 IN
子句。
以上是在 SQL 中使用具有多个值的'WHERE col IN (...)”有哪些限制?的详细内容。更多信息请关注PHP中文网其他相关文章!