データベース システムがデータにアクセスする 2 つの方法:
(1) シーケンシャル アクセス
シーケンシャル アクセスは、テーブル内のフル テーブル スキャンを実行することです。最初から最後まで 1 つずつ、順序付けされていない行データの中で条件を満たすターゲット データが見つかるまで行が走査されます。シーケンシャル アクセスは実装が比較的簡単ですが、テーブル内に大量のデータがある場合、効率は非常に低くなります。
(2) インデックス アクセス
インデックス アクセスは、インデックスをトラバースしてテーブル内のレコード行に直接アクセスする方法です。この方法は、テーブルにインデックスを作成することが前提であり、列にインデックスを作成した後、データを検索する際に、列のインデックスを元に該当するレコード行の位置を直接検索することができるため、素早く検索することができます。データ。インデックスは、指定された列のデータ値へのポインターを格納し、指定された並べ替え順序に従ってこれらのポインターを並べ替えます。 それ以外の場合、データベース システムは照合のために各レコードのすべての情報を読み取ります。中国語辞書のディレクトリ ページ (インデックス) を例にとると、ピンイン、画数、部首などでソートされたディレクトリ (インデックス) で必要な単語をすぐに見つけることができます。インデックスがない場合は、データベース システムがクエリを実行します。内部ライブラリとの比較は 1 対 1 で行われるため、インデックスを使用するとデータベースのクエリ速度が大幅に向上し、データベース システムのパフォーマンスが効果的に向上します。
インデックス アクセスのメリットとデメリット:
メリット:
高速に取得でき、I/ を削減できます。 O
倍の速度で取得できます。インデックスに従ってグループ化と並べ替えを行うと、グループ化と並べ替えが高速化できます。
欠点:
インデックス自体もテーブルであるため、占有ストレージ領域は一般的に、インデックス テーブルが占有する領域はデータ テーブルの 1.5 倍です。インデックス テーブルの保守と作成には時間コストがかかり、このコストは増加とともに増加します。データ量の増加; インデックスの構築によりデータ テーブルの変更が削減される データ テーブルを変更する際にはインデックス テーブルも変更する必要があるため、操作 (削除、追加、変更) が効率化されます。 #推奨事項:
mysql チュートリアル以上がMySQL インデックスを使用する理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。