【发布时间】:2010-01-05 23:32:35
【问题描述】:
试图在我拥有的查询的执行计划中删除嵌套循环(mssql 2005)。有下表:
TxnID 大整数 客户 ID 大整数 col1 varchar(4) col2 varchar(4) col3 varchar(4) TxnCurrency char(3) TxnAmt 钱 TxnDate 日期时间
-- query 1
SELECT CustID, TxnCurrency, SUM(TxnAmt) AS TxnAmt
FROM table
WHERE TxnDate >= @date1 and TxnDate < @date2
and col1 IN ( @list )
and col2 = @param
GROUP BY CustID, TxnCurrency
-- query 2
SELECT TxnCurrency, SUM(TxnAmt) AS TxnAmt
FROM table
WHERE TxnDate >= @date1 and TxnDate < @date2
and CustID = @custID
GROUP BY TxnCurrency
TxnID 是主键,在 CustID、TxnDate 上有非聚集索引
我应该创建另一个包含列的索引来解决嵌套循环吗?
【问题讨论】:
-
请向我们提供有关该问题的更多信息 - 它正在读取多少条记录以及需要多长时间?