试图删除我拥有的查询的执行计划中的嵌套循环(mssql 2005)。有下表:
TxnID bigint CustID bigint col1 varchar(4) col2 varchar(4) col3 varchar(4) TxnCurrency char(3) TxnAmt money TxnDate datetime
-- 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 上有非聚集索引
我应该创建另一个包含列的索引来解决嵌套循环吗?