序文 前回の面接では、実行計画について質問されたとき、多くの人がそれが何なのか知りませんでした。実行計画と実行時間は同じ概念だと思っている人もいました。今日は、実行計画とは何か、そしてその用途は何なのかを見てみましょう。 実行計画とは何ですか? 簡単に言えば、実行プランとは、データベースで 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プロトタイプとプロトタイプチェーンについての簡単な説明
背景ディープラーニング モデルの推論には、特定のデバイスが使用されます。マシンは、モデルの読み込み、...
問題の説明プロジェクトのログインページでは、7日間パスワードを記憶する必要がある機能があります。この...
HTML についてどれくらい知っていますか? 現在、基本的な HTML コードを学習している場合は、...
この記事では、docker 経由で Jenkins+Maven+SVN+Tomcat をデプロイし、...
最近、MySQL の起動中にエラーが発生しました。エラー メッセージは次のとおりです。 エラー 20...
フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...
この記事では、カウンター表示を実現するためのVueの具体的なコードを例として紹介します。具体的な内容...
ナビゲーションバーのサブメニューを再帰的に生成すると、メニューは正常に生成できるが、マウスをホバーす...
序文良い習慣はすべて宝物です。この記事は、SQL の後悔の治療法、SQL パフォーマンスの最適化、S...
最近、社内に Hadoop テスト クラスターを構築したいので、docker を使用して Hadoo...
理由は分かりませんが、UIではハニカム効果(手を広げたような効果)のデザインが好まれます。 1. 六...
1. はじめに画像は多くのスペースを占め、画像の数が増えるほど管理が難しくなるため、シンプルなラベル...
この記事では、モバイル署名機能を実装するためのJavaScriptの具体的なコードを参考までに共有し...
序文scp は secure copy の略です。scp は、Linux システムの ssh ログイ...
ポート マッピングは、Docker を別のコンテナーに接続する唯一の方法ではありません。 Docke...