ホームページ >データベース >mysql チュートリアル >MySQL インデックスを使用する理由

MySQL インデックスを使用する理由

autoload
autoloadオリジナル
2021-03-23 15:41:172464ブラウズ

データベース システムがデータにアクセスする 2 つの方法:

(1) シーケンシャル アクセス

シーケンシャル アクセスは、テーブル内のフル テーブル スキャンを実行することです。最初から最後まで 1 つずつ、順序付けされていない行データの中で条件を満たすターゲット データが見つかるまで行が走査されます。シーケンシャル アクセスは実装が比較的簡単ですが、テーブル内に大量のデータがある場合、効率は非常に低くなります。

(2) インデックス アクセス

インデックス アクセスは、インデックスをトラバースしてテーブル内のレコード行に直接アクセスする方法です。この方法は、テーブルにインデックスを作成することが前提であり、列にインデックスを作成した後、データを検索する際に、列のインデックスを元に該当するレコード行の位置を直接検索することができるため、素早く検索することができます。データ。インデックスは、指定された列のデータ値へのポインターを格納し、指定された並べ替え順序に従ってこれらのポインターを並べ替えます。                                                                                                                                                                                                                                                                                                           それ以外の場合、データベース システムは照合のために各レコードのすべての情報を読み取ります。中国語辞書のディレクトリ ページ (インデックス) を例にとると、ピンイン、画数、部首などでソートされたディレクトリ (インデックス) で必要な単語をすぐに見つけることができます。インデックスがない場合は、データベース システムがクエリを実行します。内部ライブラリとの比較は 1 対 1 で行われるため、インデックスを使用するとデータベースのクエリ速度が大幅に向上し、データベース システムのパフォーマンスが効果的に向上します。

インデックス アクセスのメリットとデメリット:

メリット:

高速に取得でき、I/ を削減できます。 O 倍の速度で取得できます。インデックスに従ってグループ化と並べ替えを行うと、グループ化と並べ替えが高速化できます。

欠点:

インデックス自体もテーブルであるため、占有ストレージ領域は一般的に、インデックス テーブルが占有する領域はデータ テーブルの 1.5 倍です。インデックス テーブルの保守と作成には時間コストがかかり、このコストは増加とともに増加します。データ量の増加; インデックスの構築によりデータ テーブルの変更が削減される データ テーブルを変更する際にはインデックス テーブルも変更する必要があるため、操作 (削除、追加、変更) が効率化されます。 #推奨事項:

mysql チュートリアル

以上がMySQL インデックスを使用する理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。