この記事では、MySQL データベース インデックスについて説明します。これには一定の参考値があります。必要な友人は参照できます。お役に立てば幸いです。
ストレージ エンジンはデータベースの中核です。一般的に使用される MySQL ストレージ エンジンには、InnoDB、MyISAM、メモリなどがあります。インデックスは、データ クエリを高速化するデータ構造です。
1. 概要インデックス
1.1 インデックスの利点
- クエリ データ ブロック
- データの一意性
- テーブル間の接続の高速化
1.2 インデックスの欠点
- インデックスはストレージ領域を占有し、テーブル データ自体よりも大きくなる可能性があります
- これはクエリにのみ適しており、追加、削除、変更の負担が増加します
1.3 インデックス使用上の注意事項
- フィールド値の差が大きいデータにはインデックスを使用します (性別列にはインデックスを使用しないでください)
- 文字フィールドは、フィールドの最初の数文字を選択するだけで作成できます インデックスはデータを簡単に保存できます。
2. 2 つの重要なストレージ エンジン、InnoDB と MyISAM
2.1 InnoDB
2.1.1 機能
- トランザクションのサポート
- 大量のデータの処理
#テーブル データとインデックスは個別に保存されます- 行レベルのサポートロック
- #デフォルトの6B長の主キー
- 主キー自体がインデックスであり、行レコードを見つけるためにインデックスはアドレスではなく主キーをマップします
- ##2.1.2 InnoDB インデックス
B ツリーのみをサポート
2.2 MyISAM
2.2.1 機能
サポートしていませんトランザクション
挿入と検索は非常に高速です- トランザクションはサポートしていません
- ##単純にデータを追加する場合の最初の選択肢
-
- 2.2.2 MyISAM インデックス
#B ツリーのみサポート
2.2.3 メモリ インデックス
B ツリーと HASH をサポート
MySQL データベースは通常、デフォルトで innoDB ストレージ エンジンになります。
3. インデックスの分類
通常インデックスと一意インデックス
単一列インデックスと複合インデックス (複合インデックス: 左端の一致のみ使用可能)
- 全文インデックス: 単語セグメントを作成し、各単語セグメントのアドレスをマップし、インデックス内の単語セグメントを検索してデータのアドレスを見つけます。
- 空間インデックス
- 4インデックス設計の原則
-
多ければ多いほど良いです。
頻繁に更新されるテーブルには、あまりにも多くのインデックスを作成しないでください。
- データ量が少ないテーブルでは、インデックスを使用しません。
- インデックスは、値の差が大きい列に構築する必要があります。
- グループ化操作が頻繁に行われるテーブルには結合インデックスを構築します。
- ディスク領域を節約するために、できるだけ短いインデックスを使用してください。 .
- この記事はここまでです。さらにエキサイティングなコンテンツについては、PHP 中国語 Web サイトの
- MySQL ビデオ チュートリアルに注目してください。
以上がMySQLデータベースインデックスの内容の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。