序文 前回の面接では、実行計画について質問されたとき、多くの人がそれが何なのか知りませんでした。実行計画と実行時間は同じ概念だと思っている人もいました。今日は、実行計画とは何か、そしてその用途は何なのかを見てみましょう。 実行計画とは何ですか? 簡単に言えば、実行プランとは、データベースで 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 でストアド プロシージャを作成し、データ テーブルに新しいフ...
この記事は、IDEA で Web プロジェクトを作成し、Tomcat を構成する方法についての統合記...
目次序文1. エラーログ2. バイナリログ1. バイナリログを有効にする2. バイナリログ形式3. ...
1. mycatとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベ...
序文この記事で実装されている要件は、実際には非常に一般的です。たとえば、ユーザーが登録したチャネルを...
基礎リレーショナル データベースでは、各データ テーブルはファイルに相当し、異なるストレージ エンジ...
ウェブデザインでは、ウェブページを美しく見せるために矢印を装飾としてよく使用します。現在、多くのウェ...
豊富なオプションを備えた強力なエディターとして、Vim は多くのユーザーに愛されています。この記事で...
ステップ 1: yum install httpd -y #httpd サービスをインストールします...
序文この友人がどれくらいDockerを使っていなかったのかは分かりませんが、突然Dockerコマンド...
目次1. 問題を発見する2.重複したデータを残さずにすべて削除する3. 削除テーブルから重複データを...
MySQL で、id、a、b の 3 つのフィールドを持つ新しいテーブルを作成します。次のように、同...
背景このバグは滾動條占據空間ことで発生していました。いくつかの情報を確認して、ようやく解決しました。...
ツール型ウェブサイトについて、まず疑問に思うのは、無数のオンラインウェブサイトの中で、どのようなウェ...
目次1. redux とは何ですか? 2. 還元の原則3. redux の使い方は? (1)redu...