SQL Serverテーブル変数にはインデックスがありますか?
SQL Server 2000では、テーブル変数のインデックスを従来のテーブルのように明示的に作成することはできません。ただし、制約を定義することにより、インデックスを暗黙的に作成できます。
SQL Server 2000
でテーブル変数の一意のインデックスを作成するSQL Server 2000では、一意の制約を宣言することにより、テーブル変数の一意のインデックスを作成できます。これは、制約宣言に一意のキーワードを指定することで実行できます。たとえば、次のステートメントはテーブル変数を作成し、名前列に一意のインデックスを作成します。
DECLARE @TEMPTABLE TABLE (
[ID] [int] NOT NULL PRIMARY KEY
,[Name] [nvarchar] (255) COLLATE DATABASE_DEFAULT NULL
,UNIQUE NONCLUSTERED ([Name], [ID])
)
一意の制約を使用して暗黙的に一意のインデックスを作成することにより、名前列で複製値が許可されないようにし、名前列をより高速なデータ取得のために効果的にインデックスを作成します。
テーブル変数の他のインデックスタイプ
SQL Server 2000は、テーブル変数に非ユニークなインデックスの作成をサポートしていないことに注意する必要があります。さらに、クラスター化されたインデックスをテーブル変数で明示的に作成することはできません。ただし、プロキシキーまたは一意の識別子列を使用して、非ユニークなクラスターインデックスをシミュレートできます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3