どの DBMS でも、インデックスは最適化にとって最も重要な要素です。データ量が少ない場合、適切なインデックスがなくても大きな影響はありませんが、データ量が増えるとパフォーマンスが急激に低下します。 複数の列にインデックスを付ける場合 (複合インデックス)、列の順序は非常に重要です。MySQL は、インデックスの左端の列のプレフィックスのみを効果的に検索できます。例えば: 複合インデックス (c1, c2) があると仮定すると、クエリ 例えば: b.CATEGORY_ID = 1 の場合、書籍 b から b.ISBN を選択します。 実行時間: 0.053秒 explain を使用して SQL を分析します。 type = ALL Extra=where を使用すると、完全なテーブル クエリではインデックスが使用されません。 EXPLAIN は、MySQL がインデックスを使用して選択ステートメントを処理し、テーブルを結合する方法を示します。より適切なインデックスを選択し、より最適化されたクエリ ステートメントを記述するのに役立ちます。 ALL 前のテーブルの行の組み合わせごとに、完全なテーブルスキャンが実行されます。テーブルが const としてマークされていない最初のテーブルである場合、これは通常悪い結果となり、それ以外の場合にも通常非常に悪い結果となります。多くの場合、ALL を使用する代わりにインデックスを追加して、前のテーブルの定数値または列値に基づいて行を取得できます。 複合インデックスを作成します。 SQLを再度実行すると、時間が0.009秒に短縮されていることがわかります。 explain を使用して SQL を分析します。 type = ref、Extra = Using index インデックスクエリが使用されます。 ref 前のテーブルの行の組み合わせごとに、一致するインデックス値を持つすべての行がこのテーブルから読み取られます。結合でキーの左端のプレフィックスのみが使用される場合、またはキーが UNIQUE または PRIMARY KEY ではない場合 (つまり、結合でキーに基づいて単一の行を選択できない場合) は、ref が使用されます。この結合タイプは、使用されるキーが少数の行にのみ一致する場合に適しています。 MySQLの結合インデックス方式の詳細な説明については、これで終わりです。MySQLの結合インデックスに関するより詳しい内容については、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Linux は suid vim.basic ファイルを使用して権限昇格を実現します。
>>: VueはOSSを使用して画像や添付ファイルをアップロードします
思いつきで、小さなボールが跳ね返るケーススタディを書いてみました。具体的な内容は以下のとおりです。主...
1. 目的この記事を通じて、誰もがフロートをクリアする原理と方法を理解し、最終的にこの記事が最良であ...
イメージの構築は、DevOps プロセスにおいて非常に重要なプロセスです。一般的に、イメージの構築と...
serializableシリアル化(問題なし)トランザクションは順次実行する必要があります。前のトラ...
1. MySQLが以前にインストールされていたかどうかを確認するコマンド: rpm -qa|grep...
表のキャプションは表の上または下に配置でき、プロパティで調整できます。デフォルトのテーブル タイトル...
1. Dockerサーバーへのリモートアクセスを有効にするdocker が配置されているリモート サ...
プロフェッショナルな Web デザインは複雑で時間がかかります。 HTML と CSS フレームワー...
これまで react.forwardRef は react の高階コンポーネントには適用できませんで...
async_hooks モジュールは、Node.js バージョン 8.0.0 に正式に追加された実験...
目次1. proxy_pass を設定した後に Nginx が 404 を返す問題のトラブルシューテ...
目次まとめ問題の説明問題を分析する問題を解決するまとめ複雑な知識をシンプルに説明できることは重要です...
目次序文axiosカプセル化の利点パッケージのアイデア設定の優先順位axiosインスタンス構成1. ...
1. 永続的な統計情報の重要性:統計は、MySQL が実行プランを生成するためのガイドとして使用され...
スクリプトをデバッグモードで実行するbash -x <script> を使用すると、スク...