【发布时间】:2017-06-26 11:23:49
【问题描述】:
我正在努力使用 SQL 中的一个非常大的 IN 语句查询 200k 行数据。
select CreatedDate
from ExchangeAccounts
where SamAccountName in ('abc','def','ghi',....., until 200k)
服务器返回错误
查询处理器用尽了内部资源,无法生成查询计划。这是一个罕见的事件,仅适用于极其复杂的查询或引用大量表或分区的查询。请简化查询。如果您认为自己错误地收到了此消息,请联系客户支持服务以获取更多信息。
我该如何解决这个问题?提前致谢
【问题讨论】:
-
通过不在
IN中列出 200k 值。您可以先将它们插入到表中并查询它们 -
如何获取内容中的...?
-
MySQL 还是 SQL Server?它们是非常不同的产品。
-
没有人说你需要修改表,但是你可以将这200k的值插入另一个表(或临时表)并查询它
-
我不确定为什么这些规则会阻止您使用临时表。你可以使用变量吗?创建一个表变量。
标签: sql-server