SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

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 IND EX danhba_chimuc 
ON danhba (h o);

この例では、coughというフィールドを含め、リストにdanhba_chimucという名前のインデックスを作成します。以下の例に示すように、複数のフィールドのインデックスを作成できます。

  C REATE 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 IN DEX danhba_chimucduynhat 
ON danhba (ho, ten);

この例では、名前のリストにdanh_chimucという名前のインデックスを作成します。これには、名前と名前が含まれ、これら2つのフィールドの組み合わせが一意であることを確認します。 Clusteredの一意のインデックスを作成して、テーブル内の行の物理的な順序がインデックスの論理的な順序によって決定されるようにすることができます。

  CREAT E 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という名前のインデックスを削除します。


  1. SQL ServerのPROCEDURE(手順)

    手順 は、後で使用するために保存する複数のステートメントのデータベース内のプログラムです。 SQL Serverでは、プロシージャにパラメータを渡すことができますが、関数として特定の値を返すことはありませんが、実行の成功または失敗を示します。 この記事では、SQLServerでプロシージャを作成および削除する方法の構文と例を示します。 作成手順 構文 SQL Serverでプロシージャを作成するには、次の構文を使用します。 CREATE {PROCEDURE | PROC } [schema_name.]procedure_name PROC} [schema_name.] Proced

  2. MS SQL Serverとは何ですか?

    SQL Serverとは何ですか? RDBMSに基づいてMicrosoftが開発したソフトウェア。 また、ORDBMS(オブジェクトリレーショナルデータベース管理システム)。 独立したプラットフォーム。 ソフトウェアは、コマンドラインインターフェイスとGUIインターフェイスの両方を使用します。 SQL言語のサポート(以前のSEQUEL-構造化された英語のクエリ言語)-これはIBMの製品です。 SQLServerを使用する目的 データベースを作成します。 データベースを維持します。 SSASによるデータ分析-SQLServerAnalysisServices。 SSRSによるレポートの作