私は何千万ものデータを持っています。JC_ItemDailySalesParentテーブル。グループ化すると5分以上がロードされますが、完了しませんでした。SQL Serverのクエリに最適なインデックスは何ですか?
影響を受けた合計行は、私が時間のインデックスを作成し
select pp.ItemLookupCode,
StoreID,
sum(Qty) TotalQuantity,
sum(ExtendedPrice) ExtendedPrice,
sum(ExtendedCost) ExtendedCost
into #temp_tt
FROM [HQMatajer].[dbo].[JC_ItemDailySalesParent] pp
WHERE (Time>=CONVERT(datetime,'2015-01-01 00:00:00.000',102)) and
(Time<=CONVERT(datetime,'2015-01-31 00:00:00.000',102))
group by pp.ItemLookupCode,StoreID
order by pp.ItemLookupCode
(グループ化なし)50万記録することもあります。
私は、あなたが変数にカットオフ日付を取り込むとクエリが改善されると思うので、 'convert'関数をすべての行に使う必要はありません。また、別のテーブルに挿入している場合は、なぜ 'order by'ですか? – HoneyBadger
実行計画を見てください。 –
@HoneyBadger私に例を教えてもらえますか? –