正確なデータインデックス作成の秘密

-
リリース: 2018-02-28 18:48:42
オリジナル
2094 人が閲覧しました

インデックスとは何ですか?

インデックスはユーザーによって作成され、変更および削除でき、実際にはデータベースに物理的に保存されます。テーブル内の[1つの列または複数の列]値のコレクションです。テーブルを指す対応する物理データ、これらの値をマークするデータ ページへの論理ポインターのリスト。

インデックスの利点

最初に

一意のインデックスを作成すると、データベーステーブル内のデータの各行の一意性が保証されます。

2 番目の

により、データの取得が大幅に高速化されます。これがインデックスを作成する主な理由でもあります。

3 番目の

はテーブル間の接続を高速化することができ、データの参照整合性を達成する上で特に意味があります。

4 つ目

データの取得にグループ化句と並べ替え句を使用すると、クエリでのグループ化と並べ替えの時間も大幅に短縮できます。

5 番目

インデックスを使用すると、クエリ プロセス中に最適化非表示機能を使用してシステムのパフォーマンスを向上させることができます。

インデックスのデメリット

1

時間

がかかる インデックスの作成と維持には時間がかかり、データ量が増えるとその時間も長くなります。

2

スペースを占有します

インデックスは、データ テーブルによって占有されるデータ スペースに加えて、一定量の物理スペースも占有する必要があります。その場合、必要なスペースはさらに大きくなります。

3

メンテナンス

遅い

テーブル内のデータを追加、削除、変更する場合、インデックスを動的に維持する必要があるため、データのメンテナンス速度が低下します。

インデックスの分類

1 クラスター化インデックス

テーブルのデータはインデックスの順序で格納されます。クラスター化インデックスの場合、リーフ ノードには実際のデータ行が格納され、個別のデータ ページは存在しません。

2 ノンクラスタードインデックス

テーブルデータの格納順序はインデックスの順序とは関係がありません。非クラスター化インデックスの場合、リーフ ノードにはインデックス フィールド値とデータ ページのデータ行への論理ポインターが含まれており、このレイヤーはデータ ページに隣接しており、その行数はデータ テーブルの量と一致します。行。

注: 実際のデータの物理的な順序は 1 つだけであるため、テーブルに作成できるクラスター化インデックスは 1 つだけです。テーブルにクラスター化インデックスがない場合、そのテーブルは「ヒープ」と呼ばれます。このようなテーブルのデータ行には特別な順序はなく、すべての新しい行がテーブルの最後に追加されます。データベースのインデックスを使用すると、検索時に場所をすぐに見つけることができます。データベースの挿入の場合、通常は最後の行に挿入されるため、インデックスによって挿入のパフォーマンスを向上させることはできません。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!