ホームページ >データベース >mysql チュートリアル >Mysql インデックスの概要
インデックスは、MySQL がデータを効率的に取得するのに役立つデータ構造です。
以下は、私がまとめた情報と私自身の学習の要約です。
1. インデックスを使用する必要は本当にありますか?
すべてのパフォーマンスの問題がインデックスの作成によって解決できるわけではありません。パフォーマンスの問題を解決する方法は他にもたくさんあります
a)。データベース パラメーターとバッファーのチューニング
c). データベース接続プール サイズまたはスレッド プール サイズの調整、
d) データベース トランザクション分離レベルの調整、
f) 不必要なテーブル ロックを回避するためのバッチ削除の調整、
その他。
2. mysql インデックス タイプの通常、一意、フルテキストの違い
1. PRIMARY、INDEX、UNIQUE これら 3 つのタイプは同じタイプです
normal: 通常のインデックス
unique:フィールド情報が重複しないことが保証されている場合、重複インデックスは許可されません。たとえば、ID 番号がインデックスとして使用される場合、特に、主キーの Primary_key のデフォルトは non- に設定できます。空で一意です
2.FULLTEXT は記事で使用される全文インデックスです。記事では、テキスト情報が取得されます。
全文: 全文検索のインデックスを表します。 FULLTEXT は、長い記事を検索する場合に最適です。比較的短い文章に使用され、1~2行程度であれば通常のINDEXでも使用できます。
要約すると、インデックスのタイプはインデックス付きフィールドのコンテンツ特性によって決まり、通常は通常が最も一般的です。
詳細情報の参照: http://blog.sina.com.cn/s/blog_887d00920100wgf3.html
3. インデックスの使用を効率化するために、作成時にインデックスを作成する場合は、どのフィールドにインデックスを付けるか、どのタイプのインデックスを作成するかを検討する必要があります。
このセクションでは、読者にいくつかのインデックス設計原則を紹介します。いい物!
select 内の where 条件の順序は重要ではありません。SQL カーネルはそれを並べ替えて最適化しますが、結合インデックスを確立する場合は、左プレフィックスの原則に従います。 5.4 mysql-index データ構造.note 最終結論 8.使用されなくなった、またはめったに使用されないインデックスを削除します テーブル内のデータが頻繁に更新されたり、データの使用方法が変更された後、元のインデックスの一部が必要なくなる場合があります。データベース管理者は、更新操作に対するインデックスの影響を軽減するために、これらのインデックスを定期的に見つけて削除する必要があります9. インデックスの数が多いほど、対応する選択の効率は確実に向上します。同時に、挿入や更新の効率も低下します。これは、挿入または更新時にインデックスが再構築される可能性があるためです。そのため、特定の状況に応じてインデックスの構築方法を慎重に検討する必要があります。テーブルに 6 つを超えるインデックスを持たないことをお勧めします。多すぎる場合は、一般的に使用されない一部の列にインデックスを構築する必要があるかどうかを検討する必要があります。 10.emunの場合、または1桁レベルのフィールドしかない場合は、インデックスを追加する必要はありません
極端なケースでは、900,000 データの場合、ソースには 0 と 1 の 2 つの値しかありません。インデックスを使用するには、まずインデックス ファイルを読み取り、次にバイナリ検索を実行して、対応するデータのデータ ディスク ポインターを見つける必要があります。次に、読み取りポインターに基づいてディスクを読み取り、対応するデータは 450,000 の結果セットに影響します。この場合、直接フルテーブルスキャンよりも高速です。
11. インデックスはグループ化に効果的です
本質は並べ替えプロセスでもあり、インデックスは6を達成するのに役立ちます mysql-index 最適化戦略.note 3 番目の項目
気づかずにたくさんの行を見てしまい、一度にすべてを思い出すことはできませんが、上記の各項目をよく考えてみると、これは本当に支払うべきです。制作時や応用時における注意点 何か問題が見つかったときは、上記の点に注意していただければ非常に助かります。したがって、要約は次のとおりです:
注: インデックスを選択する最終的な目的は、クエリを高速化することです。上記の原則は最も基本的なガイドラインですが、上記のガイドラインに固執することはできません。
読者は今後の勉強や仕事で実践を続けてください。アプリケーションの実態に基づいて分析・判断し、最適なインデックス方法を選択します。
上記は Mysql-index の概要です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。