1

私は2つのインデックスを作成しました。問題は、[BCLIENT], [NAME] インデックス[NAME], [BCLIENT]作成のシーケンスを変更するため、両方が等しいか、異なる方法で動作するかということです。

    CREATE NONCLUSTERED INDEX [bclient] ON [dbo].[client] 
(
    [BCLIENT] ASC,
    [NAME] ASC
) 
GO

そして2番目のインデックスはこのようなものです

 CREATE NONCLUSTERED INDEX [RDATE] ON [dbo].[client] 
(
    [NAME] ASC,
    [BCLIENT] ASC
)
4

1 に答える 1

1

いいえ、それらは同等ではなく、同じようには機能しません。

これについては、電話帳の例を参考にしてください。

次のようなクエリを作成できます

SELECT *
FROm PhoneBook
WHERE Surname = 'TADA'

インデックスを として作成するとSurname, Name、インデックスは適切に使用されますが、インデックスがその順序である場合Name, Surname、クエリ エンジンはインデックスを使用できず、インデックス スキャン/テーブル スキャン/クラスター化インデックス スキャンを実行する必要があります。 .

于 2013-08-17T08:35:40.353 に答える