Sql 使此查询更有效运行需要15分钟以上

Sql 使此查询更有效运行需要15分钟以上,sql,Sql,最好是在LXLTYP和一些其他字段上提供索引。 给我们更多的信息,比如你的表的当前索引等,怎么样?那些列名真让人困惑 这里有一篇关于SQLTeam.com索引的好文章:检查您的表索引,如果您没有任何索引,现在是了解它们的好时机。我能提供的唯一建议是确保您有所需的索引,并可能考虑创建两个表的持久化非规范化版本 您可以在SQL Server中使用索引视图或加载了所需数据的表来执行此操作 如果您提供更多信息,执行计划将是一个很好的开始,我们可以提供更详细的帮助。如果不查看表上的查询计划或索引,我真的无

最好是在LXLTYP和一些其他字段上提供索引。 给我们更多的信息,比如你的表的当前索引等,怎么样?那些列名真让人困惑


这里有一篇关于SQLTeam.com索引的好文章:

检查您的表索引,如果您没有任何索引,现在是了解它们的好时机。

我能提供的唯一建议是确保您有所需的索引,并可能考虑创建两个表的持久化非规范化版本

您可以在SQL Server中使用索引视图或加载了所需数据的表来执行此操作


如果您提供更多信息,执行计划将是一个很好的开始,我们可以提供更详细的帮助。

如果不查看表上的查询计划或索引,我真的无法进行任何具体的诊断。但是,以下是一些建议:

检查查询计划以查看哪些操作需要时间。如果计划是错误的,那么可能会有一次操作占用99%的时间

将ORs转换为子句。查看这是否会更改查询计划

在联接中使用的列上放置索引。查看这是否会更改查询计划

检查表上的统计信息是否是最新的。虽然这在SQL Server上不应该发生,但如果统计数据过时,那么优化人员可以选择次优计划


很好的列名。。。为什么?为什么…?通常我都喜欢在发回之前不要重命名列名,只要给我原始数据就行了!还有这个……你能说“请”吗?到目前为止你试过什么?如果您一次系统地删除一个WHERE子句,那么哪些子句的影响最大?您的表是如何编制索引的?当您通过执行路径分析器运行它时会发生什么?在执行路径中是否有特定的步骤会移动超过需要的记录或消耗高CPU?它会优化查询,否则会再次获得软管。LCRGN作为阳光,LCDST作为彩虹,ILLCN作为小马,
Use ANALYTICS

Go

SELECT NWPFFS AS HUB,
       LCRGN AS REG,
       LCDST AS DIST,
       ILLCN AS LOC,
       LCNAM AS [LOC NAME],
       LXLTYP AS LOCTYPE, 
       IXPBSN AS B, 
       IXPGRP AS G, 
       IXPDPT AS D,
       ITITMN AS ITEM,
       ITMFGN AS MFG#,
       ITDSC1 AS DESC1,
       ITDSC2 AS DESC2, 
       ITINVM AS [STK CD], 
       ITVND AS VEND#,
       ITHGT AS VENDOR,
       ILOHNQ AS [ON HAND],
       ILCMTP AS COMPURCH,
       ILCMTC AS COMSALE,
       ILYSLQ AS [SLS YTD QTY],
       ILLYSQ AS [SLS LY QTY], 
       ILINVV AS [INV VAL]
  FROM (dbo.Item_Location_Master 
 INNER JOIN dbo.Item_Master 
    ON ILITMN=ITITMN)
 INNER JOIN dbo.Location_Master 
    ON ILLCN = LCLCN
 WHERE ((LXLTYP='R') OR (LXLTYP='T'))
   AND ((ITBOMT <> 'T') AND (ITBOMT <> 'S')) 
   AND ((ILOHNQ<>0) OR (ILCMTP<>0)) 
   AND (IXPBSN <> 9) 
   AND ((ILITMN<>21542) OR (ILITMN<>21750))
   AND (NWPFFS<>9900)