SQLServerのインデックス
この記事では、SQL Serverでインデックスを作成、名前変更、および削除する方法について説明します。
インデックスとは-SQLServerのインデックス
インデックス作成は、レコードをより高速に取得するために使用される方法です。インデックスは、インデックス付きの列に表示される各値を指します。
インデックスを作成する
構文
CREATE [UNIQUE] [ CLUSTERED | NONCLUSTERED ] INDEX ten_chimuc
] [ CLUSTERED | NONCLUSTERED ] INDEX ten_chimuc
ON ten_bang ( cot1 [ASC | DESC ], . cot_n [ ASC | DESC ] )
[ INCLUDE ( cot1, . cot_n ) ]
[ WHERE dieu_kien ]
[ WITH ( PAD_INDEX = { ON | OFF }
| FILLFACTOR = fillfactor
| SORT_IN_TEMPDB = { ON | OFF }
| IGNORE_DUP_KEY = { ON | OFF }
| STATISTICS_NORECOMPUTE = { ON | OFF }
| STATISTICS_INCREMENTAL = { ON | OFF }
| DROP_EXISTING = { ON | OFF }
| ONLINE = { ON | OFF }
| ALLOW_ROW_LOCKS = { ON | OFF }
| ALLOW_PAGE_LOCKS = { ON | OFF }
| MAXDOP = so_toida
| DATA_COMPRESSION = { NONE | PAGE | ROW }
[ ON PARTITIONS ( { so | khoang } ]
[ ON scheme_phandoan ( cot )
| ON fnhomtaptin | ON nhomtaptin_macdinh ]
[ FILESTR
EAM_ON {nhomtaptin | scheme_phandoan }; scheme_phandoan};
UNIQUE
オプションで、インデックス列の値の組み合わせが一意である必要があることを示します。
クラスター化
オプションで、テーブル内の行の物理的な配置を決定する論理的な順序(つまり、インデックス内のフィールドでソートされたテーブル内のレコードの順序)を示します。
>クラスター化されていません
オプションで、テーブル内の行の物理的な配置を決定しない論理的な順序を示します。
ten_chimuc
作成するインデックスの名前
ten_bang
インデックスが作成されるテーブルまたはビューの名前。
cot1 、。 cot_n
そこからの列がインデックスを作成します。
ASC | DESC
列の値の順序を並べ替えます。
INCLUDE(cot1、.cot_n)
オプションで、この列は非クラスター化インデックスの緑豊かなレベルに追加するメイン列ではありません。
どこでdieu_kien
オプションは、インデックスに含める行を決定する条件です。
ONscheme_phanvung(cot)
オプションで、パーティションがマップされるファイルグループ(filegroup)を決定するパーティションスペースを指定します。
ON nhomtaptin
オプションで、指定したファイルグループにインデックスを作成するかどうかを指定します。
ON nhomtaptin_macdinh
オプションで、デフォルトのファイルグループを指定します。
FILESTREAM_ON {nhomtaptin | khongigna_phanvung} khongigna_phanvung}
オプションで、クラスター化インデックスのFILESTREAMデータの場所を指定します。
SQLServerのインデックスの例
CREATE INDEX danhba_chimuc
ON danhba (h
o);
この例では、coughというフィールドを含め、リストにdanhba_chimucという名前のインデックスを作成します。以下の例に示すように、複数のフィールドのインデックスを作成できます。
CREATE INDEX danhba_chimuc
ON da
(cough, ten);
この例では、名前のリストにnamesba_chimucのリストを作成します。これには、咳と10の2つのフィールドが含まれます。各アイテムにASCまたはDESCが指定されていないため、デフォルトの順序で各フィールドを使用して作成されたインデックスは増分です。降順で必要な場合は、次の操作を実行できます。
CREATE INDEX list name
ON danhba (ho DESC, te
n DESC);
上記のCREATE INDEXコマンドは、名前と名前が降順で並べ替えられたユーザー名と_chimucのみを作成します。
一意のインデックスの例
CREATE UNIQUE INDEX danhba_chimucduynhat
ON danhba (ho, ten);
この例では、名前のリストにdanh_chimucという名前のインデックスを作成します。これには、名前と名前が含まれ、これら2つのフィールドの組み合わせが一意であることを確認します。 Clusteredの一意のインデックスを作成して、テーブル内の行の物理的な順序がインデックスの論理的な順序によって決定されるようにすることができます。
CREATE UNIQUE CLUSTERED INDEX danhba_chimucduynhat
ON danh
three (ho, ten);
この例で新しく作成されたインデックスの名前は、2つの名前フィールドと名前フィールドで構成されるdanhba_chimucduynhatであり、それに応じてテーブル内の行の並べ替え順序も変更されます。
SQLServerでインデックスの名前を変更する
構文
sp_rename
'tenbang.ten_chi_muc_cu', 'ten_chimuc_moi', 'INDEX';
ten_bang
インデックスが作成されるテーブルの名前。
ten_chimuc_cu
名前を変更するインデックスの名前。
ten_chimuc_moi
インデックスの新しい名前。
例
sp_rename
'danhba.danhba_chimuc', 'danhba_chimuc_ten', 'INDEX';
この例では、nambaテーブルのインデックスの名前をdanhba_chimucからlistba_chimuc_tenに変更します。
SQLServerのインデックスを削除する
構文
DROP INDEX tenbang.ten_chimuc;
ten_bang
インデックスが作成されるテーブルの名前。
ten_chimuc_cu
削除するインデックスの名前。
例
DROP INDEX danhba.danhba_chimuc;
この例では、ba_chimucという名前のインデックスを削除します。
-
SQL ServerのPROCEDURE(手順)
手順 は、後で使用するために保存する複数のステートメントのデータベース内のプログラムです。 SQL Serverでは、プロシージャにパラメータを渡すことができますが、関数として特定の値を返すことはありませんが、実行の成功または失敗を示します。 この記事では、SQLServerでプロシージャを作成および削除する方法の構文と例を示します。 作成手順 構文 SQL Serverでプロシージャを作成するには、次の構文を使用します。 CREATE {PROCEDURE | PROC } [schema_name.]procedure_name PROC} [schema_name.] Proced
-
MS SQL Serverとは何ですか?
SQL Serverとは何ですか? RDBMSに基づいてMicrosoftが開発したソフトウェア。 また、ORDBMS(オブジェクトリレーショナルデータベース管理システム)。 独立したプラットフォーム。 ソフトウェアは、コマンドラインインターフェイスとGUIインターフェイスの両方を使用します。 SQL言語のサポート(以前のSEQUEL-構造化された英語のクエリ言語)-これはIBMの製品です。 SQLServerを使用する目的 データベースを作成します。 データベースを維持します。 SSASによるデータ分析-SQLServerAnalysisServices。 SSRSによるレポートの作