【问题标题】:There is insufficient system memory in resource pool 'internal' to run this query资源池“内部”中的系统内存不足,无法运行此查询
【发布时间】:2013-04-19 01:07:02
【问题描述】:

我正面临标题错误。我在谷歌上搜索了这个问题,发现很多人都面临同样的问题,但没有一个人符合我的情况。

我有一个简单的查询,但有 100,000 个条件。查询看起来像。

SELECT TEXT,LANG,PLANTCODE FROM DROP_VALUE WHERE FIELDNAME='PROFIT_CTR' AND PLANTCODE IN ('953306843','469940529','293294653',......100,000 conditions)

我正在使用 eclipse JUNO 和(在同一台本地机器上)sql server 2008 r2 企业版。
Windows 7 专业版
8 GB 内存
i3 处理器。
为 JVM 分配 3gb 内存。

请建议我可能的原因。

【问题讨论】:

  • 100K 值在IN 列表中是一个巨大的数字,你见过this question 吗?请注意,其中一个答案描述了获得大约 100K 值的资源错误。

标签: sql-server sql-server-2008 sql-server-2008-r2


【解决方案1】:

如果可以的话,将条件移动到一个表结构中并加入它。

【讨论】:

  • 哈!我在IN 子句中有很多项目的另一个错误。我将其更改为 CREATE TABLE #temp(id int not null primary key) 300 000 odd INSERT VALUES statements; SELECT wanted fields FROM wantedTable wt JOIN #temp t ON wt.Id = t.Id 并且我 now 收到此错误,由于它发生在我的 Primary Key 约束中出现语法错误时,我知道此错误实际上是在解析期间发生的整个语句集:-(
  • 看来我必须重组并使用表值参数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 2014-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多