【发布时间】:2020-05-12 07:45:25
【问题描述】:
如何优化在一个表上搜索不属于集合的 ID 的简单查询。
我创建了以下查询
Select userId
from user
where userId not in (5000, 5001, 5002, 5003, more....)
请注意,该列表包含多于 35000 行。我收到以下数据库错误
消息 8623,第 16 级,状态 1,第 1 行
查询处理器用尽了内部资源,无法生成查询计划。这是一种罕见的事件,仅适用于极其复杂的查询或引用大量表或分区的查询。
有些人建议使用左连接来优化查询,但我只是在一个表中搜索,那么有什么替代方法?
【问题讨论】:
标签: sql sql-server tsql subquery sql-in