新聞中心
小編給大家分享一下explain執(zhí)行計劃中key_len計算規(guī)則是怎么樣的,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯公司 - 德陽機房服務器托管,四川服務器租用,成都服務器租用,四川網通托管,綿陽服務器托管,德陽服務器托管,遂寧服務器托管,綿陽服務器托管,四川云主機,成都云主機,西南云主機,德陽機房服務器托管,西南服務器托管,四川/成都大帶寬,服務器機柜,四川老牌IDC服務商
它的規(guī)則如下:
1.所有的索引字段,如果沒有設置not null,則需要加一個字節(jié)。
2.定長字段,int占四個字節(jié)、date占三個字節(jié)、char(n)占n個字符。
3.對于變成字段varchar(n),則有n個字符+兩個字節(jié)。
4.不同的字符集,一個字符占用的字節(jié)數不同。latin1編碼的,一個字符占用一個字節(jié),gbk編碼的,一個字符占用兩個字節(jié),utf8編碼的,一個字符占用三個字節(jié)。
舉例說明:
MySQL> desc person;
+-------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id | varchar(100) | NO | PRI | | |
| name | varchar(100) | YES | MUL | NULL | |
| age | int(10) | YES | | NULL | |
+-------+--------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
查看索引情況:
mysql> show index from person;
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| person | 0 | PRIMARY | 1 | id | A | 2 | NULL | NULL | | BTREE | | |
| person | 1 | idx_name | 1 | name | A | 2 | NULL | NULL | YES | BTREE | | |
+--------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
2 rows in set (0.00 sec)
mysql> explain select name from person;
+----+-------------+--------+-------+---------------+----------+---------+------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+--------+-------+---------------+----------+---------+------+------+-------------+
| 1 | SIMPLE | person | index | NULL | idx_name | 103 | NULL | 2 | Using index |
+----+-------------+--------+-------+---------------+----------+---------+------+------+-------------+
1 row in set (0.00 sec)
根據以上計算規(guī)則:
所有的索引字段,如果沒有設置not null,則需要加一個字節(jié)
對于變成字段varchar(n),則有n個字符+兩個字節(jié)
因此:key_len=100+2+1=103
以上是“explain執(zhí)行計劃中key_len計算規(guī)則是怎么樣的”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!
網站名稱:explain執(zhí)行計劃中key_len計算規(guī)則是怎么樣的
轉載來于:http://www.dlmjj.cn/article/pesdgi.html