SQLSERVER 2008 でクエリを実行しています。クエリの処理に 4 秒かかります。なぜそんなに時間がかかるのか理解できません。
SELECT tbl_Operations.Workcenter
,SUM(tbl_Used_Components.Used_Quantity) as CNF_TODAY
FROM tbl_Used_Components
JOIN tbl_Pack_Division on tbl_Pack_Division.Pack_Division_ID =
tbl_Used_Components.Pack_Division_ID
JOIN tbl_Operations on tbl_Operations.Operation_ID = tbl_Pack_Division.Operation_ID
where CONVERT(date, tbl_Pack_Division.Stop_Time) = CONVERT(date, getdate())
AND tbl_Pack_Division.Memo = 'NORMAL'
and tbl_Pack_Division.Status = 'CNF_MACH'
GROUP BY tbl_Operations.Workcenter
問題は where 句にあります。Where句なしでクエリを実行すると、0.1秒で実行されます。最初の 2 つの引数を追加しても、問題なく動作します。しかし、Status-field に 3 番目の引数を追加すると、うまくいきません。
これがどのように問題になる可能性がありますか?2つ目(メモ欄)と同じ粒度での選択です。
編集:
Status varchar(10) -- 5 つの異なる値を持つことができます
メモ varchar(150)
インデックスのみ: Pack_Division_ID bigint