009--Explain實(shí)戰(zhàn)詳解:key-len分析

1.key-len長度計算參考:http://www.cnblogs.com/gomysql/p/4004244.html

key_len的長度計算公式:
1.varchr(10)變長字段且允許NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)+2(變長字段)
2.varchr(10)變長字段且不允許NULL = 10 *( character set:utf8=3,gbk=2,latin1=1)+2(變長字段)
3.char(10)固定字段且允許NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)
4.char(10)固定字段且不允許NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)

2.key-len分析

  • 表示索引中使用的字節(jié)數(shù)奕扣,可通過該列計算查詢中使用的索引的長度蒋歌,在不損失精確性的情況下滚秩,長度越短越好
    key-len顯示的值為索引字段的最大可能長度棺榔,并非實(shí)際使用長度饥追,即key_len是根據(jù)表定義計算而得掠河,不是通過表內(nèi)檢索出的

3.key-len案例

mysql> explain SELECT t.id,t.`name` FROM t1 t ;
+----+-------------+-------+-------+---------------+---------------+---------+------+------+-------------+
| id | select_type | table | type  | possible_keys | key           | key_len | ref  | rows | Extra       |
+----+-------------+-------+-------+---------------+---------------+---------+------+------+-------------+
|  1 | SIMPLE      | t     | index | NULL          | index_id_name | 37      | NULL |    3 | Using index |
+----+-------------+-------+-------+---------------+---------------+---------+------+------+-------------+
1 row in set (0.00 sec)
mysql> explain SELECT t.`name`,t.id FROM t1 t ;
+----+-------------+-------+-------+---------------+---------------+---------+------+------+-------------+
| id | select_type | table | type  | possible_keys | key           | key_len | ref  | rows | Extra       |
+----+-------------+-------+-------+---------------+---------------+---------+------+------+-------------+
|  1 | SIMPLE      | t     | index | NULL          | index_id_name | 37      | NULL |    3 | Using index |
+----+-------------+-------+-------+---------------+---------------+---------+------+------+-------------+
1 row in set (0.00 sec)
mysql> explain SELECT t.id,t.`name` FROM t1 t WHERE t.id = '1' and t.`name` = 'downeyjr_1';
+----+-------------+-------+-------+-----------------------+---------+---------+-------+------+-------+
| id | select_type | table | type  | possible_keys         | key     | key_len | ref   | rows | Extra |
+----+-------------+-------+-------+-----------------------+---------+---------+-------+------+-------+
|  1 | SIMPLE      | t     | const | PRIMARY,index_id_name | PRIMARY | 4       | const |    1 |       |
+----+-------------+-------+-------+-----------------------+---------+---------+-------+------+-------+
1 row in set (0.00 sec)
mysql> explain SELECT t.id,t.`name` FROM t1 t WHERE t.id = '1' ;
+----+-------------+-------+-------+-----------------------+---------+---------+-------+------+-------+
| id | select_type | table | type  | possible_keys         | key     | key_len | ref   | rows | Extra |
+----+-------------+-------+-------+-----------------------+---------+---------+-------+------+-------+
|  1 | SIMPLE      | t     | const | PRIMARY,index_id_name | PRIMARY | 4       | const |    1 |       |
+----+-------------+-------+-------+-----------------------+---------+---------+-------+------+-------+
1 row in set (0.00 sec)
mysql> explain SELECT t.`name`,t.id FROM t1 t WHERE t.id = '1' ;
+----+-------------+-------+-------+-----------------------+---------+---------+-------+------+-------+
| id | select_type | table | type  | possible_keys         | key     | key_len | ref   | rows | Extra |
+----+-------------+-------+-------+-----------------------+---------+---------+-------+------+-------+
|  1 | SIMPLE      | t     | const | PRIMARY,index_id_name | PRIMARY | 4       | const |    1 |       |
+----+-------------+-------+-------+-----------------------+---------+---------+-------+------+-------+
1 row in set (0.00 sec)
mysql> explain SELECT t.id,t.`name` FROM t1 t WHERE t.`name` = 'downeyjr_1';
+----+-------------+-------+-------+---------------+---------------+---------+------+------+--------------------------+
| id | select_type | table | type  | possible_keys | key           | key_len | ref  | rows | Extra                    |
+----+-------------+-------+-------+---------------+---------------+---------+------+------+--------------------------+
|  1 | SIMPLE      | t     | index | NULL          | index_id_name | 37      | NULL |    3 | Using where; Using index |
+----+-------------+-------+-------+---------------+---------------+---------+------+------+--------------------------+
1 row in set (0.00 sec)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秋麸,一起剝皮案震驚了整個濱河市心傀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌妨蛹,老刑警劉巖屏富,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蛙卤,居然都是意外死亡狠半,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門颤难,熙熙樓的掌柜王于貴愁眉苦臉地迎上來典予,“玉大人,你說我怎么就攤上這事乐严×鲂洌” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵昂验,是天一觀的道長捂敌。 經(jīng)常有香客問我,道長既琴,這世上最難降的妖魔是什么占婉? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮甫恩,結(jié)果婚禮上逆济,老公的妹妹穿的比我還像新娘。我一直安慰自己磺箕,他們只是感情好奖慌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著松靡,像睡著了一般简僧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雕欺,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天岛马,我揣著相機(jī)與錄音,去河邊找鬼屠列。 笑死啦逆,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的笛洛。 我是一名探鬼主播夏志,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼撞蜂!你這毒婦竟也來了盲镶?” 一聲冷哼從身側(cè)響起侥袜,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎溉贿,沒想到半個月后枫吧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宇色,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年九杂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宣蠕。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡例隆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抢蚀,到底是詐尸還是另有隱情镀层,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布皿曲,位于F島的核電站唱逢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏屋休。R本人自食惡果不足惜坞古,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望劫樟。 院中可真熱鬧痪枫,春花似錦、人聲如沸叠艳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虑绵。三九已至尿瞭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間翅睛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工黑竞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捕发,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓很魂,卻偏偏與公主長得像扎酷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子遏匆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容