この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 19085|答える: 2

[出典] SQL Serverはインデックスを作成します

[リンクをコピー]
掲載地 2019/09/20 9:31:08 | | |
インデックスの概念

インデックスを確立する目的は、データベースシステムの性能を向上させ、データのクエリ速度を高速化し、システムの応答時間を短縮することです。
索引とは何か:データベース内の索引は、本の目次に似ており、本全体を読まずにすぐに必要な情報を見つけることができます。
データベースでは、データベースプログラムがインデックスを使ってテーブル内のデータを素早くクエリし、テーブル全体をスキャンする必要がなくなります。
本の目次は単語のリストとそれらが存在するページ番号であり、データベースのインデックスはテーブル上の値を一覧にし、それぞれの値を格納した場所です。
インデックス作成の長所と短所:クエリ実行のオーバーヘッドの大部分はI/Oであり、パフォーマンス向上のためにインデックスを使う主な目的の一つは、テーブル全体のスキャンを避けることです。なぜなら、フルテーブルスキャンはディスクからテーブルのすべてのデータページを読み込む必要があり、もしインデックスがデータ値に向けられていれば、クエリはディスクに数回読み込むだけで済みます。
したがって、インデックスの合理的な活用はデータのクエリを高速化できます。 しかし、インデックスは必ずしもシステムのパフォーマンスを向上させるわけではなく、インデックスされたテーブルはデータベース内のストレージ容量を多く占有し、同じデータの変更・削除コマンドでもインデックスの実行や維持に時間がかかります。
したがって、インデックスを合理的に使い、最適でないインデックスを除去するために時間内に更新しなければなりません。

インデックスの分類

この索引は中国語辞書の前の目次に似ており、ピンインや首都で検索したい単語を素早く見つけることができます。
一意:各行のインデックス値は一意で(一意制約が作成され、システムが自動的に一意インデックスを作成します)。
プライマリキーインデックス:テーブル作成時に指定されるプライマリキー列は自動的にプライマリキーインデックスを作成し、固有の特徴を持ちます。
クラスタ化:クラスタインデックスは辞書のピンイン検索と同等で、クラスタインデックスは物理的に連続したレコードを保存します。つまり、ピンインaの後にbが続く必要があるからです。
非クラスタリング:非クラスタ化インデックスは辞書ラゲを使って検索することに相当し、非クラスタ化インデックスは論理的に連続的であり、物理的な記憶は連続していません。
クラスタインデックスはテーブル内に1つのテーブルしか持てませんが、非クラスタインデックスは複数のテーブルを持つことができます。

どのフィールドをインデックス化する必要があるか

1. テーブルの主キーと外部キーはインデックスを持たなければなりません
2. 300以上のデータを持つテーブルにはインデックスが必要です
3. 頻繁に他のテーブルに接続されているテーブルは、連結されたフィールドにインデックス付けされるべきです
4. 特に大きなテーブルに頻繁に現れるフィールドはインデックス付けすべきです
5. 頻繁にソートまたはグループ化されるフィールド(すなわち、GROUP BYやORDER BY操作を実行する)はインデックス化されるべきです
6. インデックスは非常に選択的なフィールドに基づいて構築されるべきです
7. インデックスは小さなフィールド上に構築すべきです。大きなテキストフィールドや超長フィールドでも、インデックスは作成せず、整数はできるだけキー値として使用してください。整数はアクセス速度が最も速いためです
8. 複合指数の確立は慎重に分析する必要があります。 代わりに単一フィールドのインデックスを使うことを検討してみてください
9. 頻繁にデータ操作を行うテーブルは、過度にインデックス化してはいけません
10. 実行計画への悪影響を避けるために不要なインデックスを削除する

インデックスが多すぎることの欠点

1. 記憶容量が大きくなり、各インデックスは空間内に格納する必要があります
2. 多数の非クラスタインデックスが存在する場合、クラスタ化されたインデックスが変化すると、すべての非クラスタインデックスもそれに応じて変化します
3. インデックスが多すぎると、最適化プロセスで評価すべき組み合わせ数が増加し、クエリ時間が増加します
4. 各インデックスは統計情報を持ち、インデックスが多いほど統計情報も増え、クエリ時間が長くなります
5. 更新オーバーヘッド:データが変更され、多くの列が変更されると、複数のインデックスが変更され、更新、削除、挿入が遅くなることがあります








先の:ティーンエイジャーの強い伴奏MVビデオ
次に:C#は現在のシステムディスクレター、システムディレクトリ、デスクトップなどを取得します
 地主| 掲載地 2020/12/27 11:56:05 |
CREATE INDEX PersonIndex ON テーブル名(フィールド名)

テーブル名上のPERSONIndexドロップダウンインデックス
 地主| 掲載地 2021/02/24 15:16:27 |
Itsvseテーブルのテストフィールドにインデックスがない場合は、追加されます

免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com