選択 t1の名前=から* ' ZS ' ;
内蔵のオプティマイザのコスト計算アルゴリズムに従って計画の実施の分析、最終的な選択
説明選択 * world.cityからの、 或 DESC 選択 world.cityから*;
説明 | |
テーブル | 関連するルックアップテーブル |
タイプ | クエリのタイプ:フルテーブルスキャン、インデックス・スキャン |
possible_keys | これは、インデックスに使用することができます |
キー | 最後に選択されたインデックス |
key_lenに | インデックスカバーの長さ |
行 | スキャンへの問い合わせが必要の行数 |
エクストラ |
DESC 選択country.name、city.name 街からは参加に国を city.countrycode = country.code city.population = ' CHN ' ;
DESCは、選択国番号=都市から* 「CHN 」; DESCは選択!カントリ=都市から* ' CHN ' ; DESCを選択し、市内から* 1 = 1 ; DESCは選択のような都市国番号から* 「%CH%」; DESC を選択し、市内から*どこのCountryCodeないで(' CHN '、' USA ');
DESC 選択 world.cityから国番号。
DESCを選択し、市内から* ID < 10 ; DESCは選択のような都市国番号から* 「CHの%」; DESCは、選択都市countrtcodeから* で(' CHN '、' USA ' ); ---> 改写为組合がすべて 選択国番号=都市から* 「CHN 」 組合がすべて 選択国番号=都市から* 「USA 」。
DESCを選択し、市内から* ID!= ' 10 ' DESCを選択どこの都市から* IDないで(10、20);
REF:セカンダリインデックス同等のクエリ
DESCは、選択国番号=都市から* 「CHN 」 ;
でeq_ref:複数のテーブルには、非駆動表に主キーまたは一意キーを結ぶことを条件に、リンクリスト。
DESC 選択country.name、city.name 街からは参加国を city.countrycode =上country.code city.population = ' CHN ' ;
CONST(システム):クラスタ化インデックスと同等のクエリ
1 DESCが選択都市から* ID = 10。
ket_lenは、クエリが複数の部品の共同インデックスを来たことを決定するために私たちを助けることができます。
選択 T1ここ= aとb =およびCから* = 選択 t1からどこ* における aとb に及びc における 選択ここで、b t1から* =およびc =及び= 選択 t1からここで、aとbの順Cによって*
部分的に覆わ
選択 t1からどこ=及びb * = 選択 = T1 *から 選択 t1から=およびC * = 選択 t1からどこ= aとb> <> = <=等およびc = * 選択 t1からXXXXここで、bによって順
2. key_lenに計算:IDX(A、B、C)
仮定:一部のクエリは完全に3つの関節のインデックスをカバーすることができます。例えば:
選択 t1からどこ=及びb * =およびC =
データ型、文字セット効果:によって長さ
長さは、列のバイト長の最大格納された値を参照します
NOT NULL | NOT NULLはありません | |
TINYINT | 1 | 1 + 1 |
int型 | 4 | 4 + 1 |
BIGINT | 8 |
int型---> 5
文字の種類:UTF8
NOT NULL | NOT NULLはありません | |
CHAR(10) | 3 * 10 | 3 * 10 + 1 |
VARCHAR(10) | 3 * 10 + 2 |
Bチャー(10)31
32 CのVARCHAR(10)nullでありません
CのVARCHAR(10)
テーブルT1を作成する(INTないヌル、 4 Bの INT、 5 のC CHAR(10)ないヌル、 40 DのVARCHAR(10) 43 )のcharset = utf8mb4
インデックス(A、B、C、D)
MySQLの> DESC 選択 t1からここ= * 1 及びb = 1 およびc = ' ' 及びd = ' ' ; MySQLの > DESC 選択 = t1から* 1 及びb = 1 およびc = ' ' ; MySQLの > DESC 選択 = t1から* 1 及びb = 1 。 MySQLの > DESC 選択 = t1から* 1。
演習:結論をテストするために計算さkey_lenにするためによると:
完全なカバレッジ
選択 T1ここ= aとb =およびCから* = 選択 t1からどこ* における aとb に 及びc における 選択ここで、b t1から* =およびc =及び= 選択 t1からここで、aとbの順Cによって*
部分的に覆わ
選択 t1からどこ=及びb * = 選択 = T1 *から 選択 t1から=およびC * = 選択 t1からどこ= aとb> <> = <=等およびc = * 選択 t1からXXXここで、bによって順
カバーしていません。
BC、B、C、
DESC 選び市国番号=から* 「CHN 」人口によるため、
継続するには....