私はMS SQLを使用しており、Product(ProdID、その他のフィールド)とProdCat(ID、ProdID、CategoryID)の2つのテーブルを持っています。内部結合を使用してクエリを高速化するためのインデックスを作成する
そして、私が選択
SELECT TOP (8) ProdID, Description, Image
FROM Products INNER JOIN ProdCat ON ProdCat.ProdID = Products.ProdID
WHERE Products.Active=1 AND ProdCat.CategoryID = 123 Order by ProdCat.sorting, Products.ProdID
のような製品表を作っています以上50.000を持ち、ProdCatテーブルは、以上150.000記録を持っており、クエリが遅いです。
このクエリを高速化するためのインデックスの作成方法を教えてください。
ありがとうございました。
こんにちは、ようこそ。あなたが助けることができるテーブルの詳細が不足しているため、ここにインデックスを提供することはできません。あなたはテーブルと既存のインデックスのddlを提供できますか?インデックスは実際には問題ではないが、そのような詳細がなければ、あまりできないかもしれない。 –
クエリの実際の実行計画を掲載する必要があります。これはSSMSから簡単に入手できます。 – Igor
計画を見て、問題がどこにあるかを確認します。その特定のクエリを最適化するいくつかのインデックスを想像することができますが、それらはそのクエリに特有で、一般的には有用ではありません...しかし、テーブルスキーマ、プラン、およびデータ。 – pmbAustin