开发者社区> 问答> 正文

无限执行中的T-SQL查询过滤

只是分享我的经验,也许我可以得到一些澄清/确认。

我正在执行某个脚本,该脚本将返回客户信息。该脚本至少有5到10个联接表(带有数据透视联接表),并且最有可能返回至少10万条记录。

问题是,当我尝试在WHERE子句上添加过滤器-“ STATUS!='CLOSED'”时,查询将永远运行。当我将其更改为“ STATUS!='CLOSE'”时,我的查询至少运行2分钟。

另外,请告知“ CLOSED”不存在。

这是某种错误吗?还是我错过了什么?

展开
收起
祖安文状元 2020-01-05 14:55:07 381 0
1 条回答
写回答
取消 提交回答
  • 最可能是因为它需要扫描所有记录并输出它们,在CLOSE示例中,它可能会排除很多记录。如果不共享查询,则执行计划很难在此处注释。此外,通常不建议在一个查询中包含10个表联接,数据透视表和其他内容的附带说明。

    分享改善这个答案

    2020-01-05 14:55:11
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载