データベースに2つのテーブルがあります。以下は注文を使用するとSQL Server Join Queryが遅くなる
U_Accounts
(行を含む小さなテーブル)SMS_Buffer
(SMSキューを含む大きなテーブル)
我々はORDER BY
を使用する場合
Select SMS_Buffer.msg_id,
SMS_Buffer.u_id,
SMS_Buffer.msgtxt,
SMS_Buffer.m_priority,
U_Accounts.U_Priority
From SMS_Buffer
JOIN U_Accounts ON Sms_Buffer.u_id = U_Accounts.u_id
where U_Accounts.u_msgpush=1
Order by U_Accounts.u_priority DESC,
SMS_Buffer.m_priority DESC,
SMS_Buffer.m_id DESC
クエリ上記のサンプルクエリが遅くなるです文節がSMS_Buffer.m_priority DESC, SMS_Buffer.m_id DESC
で、レコードが100000行未満の場合はSMS_Buffer
表それが成長すると、クエリは非常に遅くなります。
上記のクエリのパフォーマンスを向上させるソリューションを提供してください。
クラスタ化された非クラスタ化インデックスを作成しようとしましたが、成功しませんでした。
次回にコードをフォーマットしてください。 – Blorgbeard
作成したインデックスと実行計画は何ですか? – HLGEM
ゆっくりと定義してください... –