SQL文のパフォーマンス分析

SQL文のパフォーマンス分析
の実施計画の説明
使用法:select文の説明

コマンドを:
表示するデータベースを、
MySQLを使用して
、ユーザーからのSELECT *を説明し、
結果は以下の通りである:
上記のタイプpossible_keysの表のキーkey_lenにREF行エキストラのid SELECT_TYPE言及した
1つの簡単なユーザALL NULL NULL NULL NULL 11が

リターン結果を説明します分析
ID
通常選択識別子、文の代わりに実行順序、ネストされたクエリは、異なる選択する場合
、次に下から順次実行されるような多数の場合、ID列より多く、より最初の実装を

ヌルとしてIDが示すであろうこれは、結果セットで、照会するためにそれを使用する必要はありません。

SELECT_TYPE
シンプル:なし組合操作または単にはサブクエリが含まれていないクエリを選択していないことを示しています。クエリに接続すると、外側のクエリがあり
、単純な、一つだけ。
プライマリ:組合操作または前記サブクエリを選択する必要がある、SELECT_TYPEユニットクエリの最も外側の層である
主要。そして、一つだけ。

組合:2つの選択ユニオン接続クエリは、最初のクエリは、最初のテーブルに加えて、派生テーブルをderviedされ、目以降
組合ですSELECT_TYPEテーブル
依存組合:組合、労働組合または労働組合のすべてのステートメントに表示されますで、このクエリは、外部クエリする対象である
影響を。

労働組合の結果:それは、クエリに参加していないため、結果セットは、労働組合、労働組合および労働組合にすべてのステートメントが含まれているので、IDの
フィールドがnullです。
サブクエリ:クエリに含まれる単語からサブサブに加えて、クエリは、他のいずれかの場所に現れることがあり。これは、サブクエリで

サブクエリが外部クエリテーブルクエリによって影響されることを示し、同様の従属組合:依存サブクエリ。
派生:出現する単語からサブクエリは、また、派生テーブルと呼ばれ、他のデータベースは、インライン・ビューと呼ばれるまたは選択入れ子にすることができます。


テーブル
が表示されたとして、ルックアップテーブルの名前が。
クエリはエイリアスを使用している場合は、ので、ここでの別名です。

。あなたは、データテーブルの操作を伴わない場合は、これがnullとして表示されている
角括弧と囲まれている場合、<派生N>と表示されますその一時テーブルの

タイプ
は良いから悪いまで順に:システム、CONST、でeq_ref、REF 、フルテキスト、 ref_or_null、unique_subquery、index_subquery、
ALLレンジ、index_merge、インデックスは、

すべてに加えて、他の種類のインデックスを使用することができ、index_mergeに加えて、他のタイプは、インデックスのみで使用することができます。

システムテーブルやデータテーブルで唯一の行が空で、かつ専用メモリテーブルとのMyISAM。エンジンはInnoDBがある場合は、記載されているこのタイプ
の次は通常、すべてまたはインデックスされている

のconst:ユニークなプライマリキーまたはインデックス、戻りラインレコードが記録されなければならない輪郭を使用します。通常タイプがconstの場合は条件。他
にも唯一のインデックス・スキャンとして知られているデータベース。

でeq_ref:複数のテーブルを接続するためのクエリプランに表示され、ドライブのテーブルは、データの1行しか返され、そしてこのデータの行は、第二のテーブルの主キーであるか、
一意のインデックスによると、ヌルはならない、一意のインデックスおよび主キーが複数列でありますでeq_refを比較すると、としてだけですべての列が表示されます。

REFを:でeq_refは、接続順序として必要ではない、主キーと一意のインデックスを必要としない、限り、検索条件がに等しいとして使用することが可能です
さて、一般的な同等の補助インデックスを検索します。または複数列の主キー、ユニークインデックス、最初の列以外の列は、見つけるために、同等のものとして表示されます
データの同等が発生する可能性を見つけるために返すようにするだけでなく、短期で。

フルテキスト:フルテキストインデックスと一般的な指標は、MySQL、存在する場合は、フルテキストインデックス検索は、高い優先度にフルテキストインデックスを注意することは
、関係なく、価格のフルテキストインデックスを使用することを好む

ref_or_null:REFの方法と同様に、唯一の比較ヌルの値を増加。あまりの実際の使用。

unique_subqueryは:サブクエリの形態で使用される場合、サブクエリは、固有の一意の値が値返す

ことができる重複を返すことができるリストまたは定数、サブクエリで二次インデックスに使用するためのサブクエリ:index_subquery
サブクエリにインデックスを使用します重複除外。

範囲:使用中の一般的なスキャンインデックスの範囲は、>、<、の間で、nullであるように、で、 他の事業者のクエリ。

index_merge:一般的な、クエリは最終的に交差点や組合を取って、以上の2つのインデックスを使用していることを示しおよび、または異なるインデックスの使用条件、
正式発注これはref_or_nullた後、実際に起因する複数のインデックスを読み取ることが、パフォーマンスほとんどの時間かもしれない範囲として。

インデックス:インデックス全表スキャン、カラム内の共通もう一度スイープを開始から終了までのインデックスは、インデックスクエリ処理を使用することができ、データファイルを読み込む必要はありません。
あなたは、クエリのインデックスは、ソートやグループ化を使用することができます。

すべて:これは、フルテーブルスキャンデータファイルであり、その後、サーバーの記録層の要件を満たすために濾過戻ります。


possible_keys
インデックスの使用の可能性への問い合わせがここに表示されます

キー
つ以上のインデックスが表示されるがあるかもしれないあなたが実際に使用するためのインデックスを照会するとき、index_mergeとしてSELECT_TYPE、他のSELECT_TYPEが
唯一存在します。

key_lenに
クエリ処理指数長に対して、それが別のインデックスである場合、それが複数列インデックスである場合、クエリができない可能性があり、インデックスの全体の長さが含まれる
場合、どのように多くのインデックス列に、特定の用途のすべての列を使用しますで計算されますが、列への使用は、その中に存在して計算しないことはありません。

REF
クエリが使用する定数等価である場合、CONSTここに表示される
クエリが接続されている場合、フィールド駆動テーブル駆動テーブル実行プランを関連付けられてここに表示される
条件の発現または機能が使用される場合、又は状態が列を発生しています内部暗黙的な変換、FUNCのがあるように見えることがあり


走査線の実施計画に推定数はここにある、正確な値ではなく


余分な一般的な戻り値は、
明確な:選択部分にキーワードdistinc(distincを使用しますつだけ異なる値を選択し、あなたが行くことができます重量)
NO表が使用される:言葉からデュアルからの問い合わせやお問い合わせなし

filesortレコード使用:ご注文時にインデックスを使用することができませんが、これが表示されます。よると、グループの声明による順に共通
しますが、インデックスによってクエリに直接データを取得することができ、クエリテーブルクエリに戻す必要はありません。インデックスを使用して

交差を使用して:使用条件や情報を表し、各インデックスは、処理結果から得られた場合を示しています交差点。
組合を使用して:インデックスを使用して各接続の指示または状態が、組合からの処理結果を示す情報を取得します。

ここで使用する:ストレージエンジンは、サーバレベルでフィルタリングする必要があるクエリを満たすすべてのレコードを返すない表します。



おすすめ

転載: www.cnblogs.com/jingzaixin/p/11424066.html