どの 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を使用して画像や添付ファイルをアップロードします
導入:最近の面接の質問を見ると、ドロップダウン メニューを実装するために CSS を使用することが多...
apt-get を使用してインストールすると、非常に遅くなります。国内のソースを変更すると、この問題...
<br />これは私がずっと前に集めた記事です。皆さんの参考のために共有したいと思います...
1. イベントバブリング: JavaScript イベント伝播のプロセスでは、要素でイベントがトリガ...
列ベースの Web デザインのインスピレーションをお探しの場合は、32 個のクラシックな列/グリッド...
ここでは、PHP、JSP、または .NET 環境については説明しません。アーキテクチャの観点から問題...
<br />どの家庭にもそれぞれの問題があり、改訂はどの IT 企業にとっても問題の 1...
ディレクトリ構造 。 │ .env │ docker-compose.yml │ └─mysql ├...
序文MySQL クエリは select コマンドを使用し、limit および offset パラメー...
MySQLデータベースを完全にアンインストールするプロセスは次のとおりです。 1. MySQLサービ...
早速ですが、デモ画像をご紹介します。実装されている機能は、左側に凡例、右側にウォーターフォール チャ...
この記事はMySQL 8.0.12のインストールと設定に関する詳細なチュートリアルを記録しています。...
この記事の環境はWindows 10、MySQLのバージョンは5.7.12-logです1. 基本的な...
導入私はしばらくの間、postgresql データベースを使用していました。クラウドに移行した後、自...
MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...