序文 前回の面接では、実行計画について質問されたとき、多くの人がそれが何なのか知りませんでした。実行計画と実行時間は同じ概念だと思っている人もいました。今日は、実行計画とは何か、そしてその用途は何なのかを見てみましょう。 実行計画とは何ですか? 簡単に言えば、実行プランとは、データベースで SQL が実行されたときのパフォーマンスのことです。通常、SQL パフォーマンス分析や最適化などのシナリオで使用されます。 1. 実行計画から何がわかりますか?
2. 実施計画の内容 SQL実行プランの出力は複数行になる場合があり、各行はデータベースオブジェクトに対する操作を表します。 1. ID列
デモ 上記の実行プランでは 3 行の結果が返されることがわかります。id 列の値は、SQL の SELECT 操作のシーケンス番号と見なすことができます。 上記の SQL には SELECT が 1 つしかないため、すべての ID は 1 です。したがって、実行プランを上から下に読み取る必要があります。 SQL ステートメントによれば、実行順序は a、b、c であると考えられますが、上の図から、Mysql は SQL に記述された順序でテーブル関連付け操作を完了しないことがわかります。 テーブルの実行順序は a、c、b です。これは、MySQL オプティマイザがテーブル内のインデックスの統計情報に基づいて、テーブル関連の実際の順序を調整するためです。 2. SELECT_TYPE列
3. テーブル列 以下の結果が含まれます。
4. PARTITIONS列:
5. タイプ列 パフォーマンスは最高から最低の順に次のようにリストされます。
6. 追加列 MySQLがクエリを実行する方法に関する追加情報が含まれています
7. POSSIBLE_KEYS列 MySQLがクエリを最適化するために使用できるインデックスを示します クエリに関係する列のインデックスはリストされますが、使用されない可能性があります。 8. KEY列 クエリを最適化するためにクエリオプティマイザが実際に使用するインデックス テーブルに利用可能なインデックスがない場合、NULLとして表示されます。 クエリでカバーリング インデックスが使用される場合、インデックスはキー列にのみ表示されます。 9. KEY_LEN列 MySQL インデックスで使用されるバイト数を表示します。結合インデックスに 3 つの列があり、3 つの列の合計長が 100 バイトの場合、Key_len は 100 バイト未満 (30 バイトなど) になることがあります。これは、クエリ中に結合インデックスのすべての列が使用されるわけではなく、最初の 1 列または 2 列のみが使用されることを意味します。
10. 参照列 キー列レコードのインデックスを使用してクエリを実行するときに、現在のテーブルで使用される列または定数を示します。 11. 行
12. フィルターされた列
3. 実行計画の制限
要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
<<: VMware Workstation Pro が Win10 アップデートにより開けなくなる問題の解決方法
>>: JSプロトタイプとプロトタイプチェーンについての簡単な説明
背景MySQL のデッドロックについて言えば、私は以前 MySQL のロックに関する基本的な紹介記事...
序文最近、小さなプログラムでリアルタイムにチャートを更新するという要件に遭遇しました。最初は wx-...
今回は、Google Chrome のタブバーのような、特殊な丸い角を持つナビゲーション バーのレイ...
背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...
この記事では、スローモーションアニメーション効果を実現するためのJavaScriptの具体的なコード...
アカウントにログイン DOCKER_REGISTRY=registry.cn-hangzhou.al...
MySQL では lastIndexOf に似た関数を使用する必要がある場合もありますが、すぐに使用...
序文ますます便利になった今日のインターネット社会では、さまざまなインターネット ランサムウェア ウイ...
結果:実装コードhtml <nav class="dropdownmenu"...
この記事では、Web ページ レイアウト デザインのいくつかの簡単な原則をまとめ、Web ページ デ...
序文この記事は Meituan の大物によって書かれました。とても素晴らしいので、皆さんと共有したい...
重複キーの置換と挿入の違い置換の使用法競合がない場合、挿入と同等となり、他の列のデフォルト値が使用さ...
1. はじめに● ランダム書き込みではヘッドがトラックを頻繁に変更するため、効率が大幅に低下します。...
質問コードにはプロンプトがありません: RN 開発に不慣れな、フロントエンド以外の学生の多くは、「ど...
目次1. React フックと純粋関数2. シンプルなmyUseState 3. myUseStat...