日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

index-D

發布時間:2024/4/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 index-D 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

key_len

表示索引中使用的字節數,可通過該列計算查詢中使用的索引的長度。在不損失精確性的情況下,長度越短越好

key_len顯示的值為索引字段的最大可能長度,并非實際使用長度,即key_len是根據表定義計算而得,不是通過表內檢索出的

難點:如何計算的?

官網解釋

數據類型長度

數值類型

日期和時間類型

datetime類型在5.6中字段長度是5個字節,

datetime類型在5.5中字段長度是8個字節

字符串類型

計算方法估值表

key_len表示索引使用的字節數,

根據這個值,就可以判斷索引使用情況,特別是在組合索引的時候,判斷所有的索引字段是否都被查詢用到。

char和varchar跟字符編碼也有密切的聯系,

latin1占用1個字節,gbk占用2個字節,utf8占用3個字節。(不同字符編碼占用的存儲空間不同)

案例演示

字符型

索引字段為char類型+不可為Null時

CREATE TABLE `t2` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` char(10) NOT NULL,`addr` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`),KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; explain select * from t2 where name='leon';

索引字段為char類型+允許為Null時

CREATE TABLE `t1` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` char(10) DEFAULT NULL,`addr` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`),KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;explain select * from t1 where name='leon';

索引字段為varchar類型+不可為Null時

CREATE TABLE `t4` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(10) NOT NULL,`addr` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`),KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;explain select * from t4 where name='leon';

變長字段需要額外的2個字節(VARCHAR值保存時只保存需要的字符數,另加一個字節來記錄長度(如果列聲明的長度超過255,則使用兩個字節),所以VARCAHR索引長度計算時候要加2)

索引字段為varchar類型+允許為Null時

CREATE TABLE `t3` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(10) DEFAULT NULL,`addr` varchar(20) DEFAULT NULL,PRIMARY KEY (`id`),KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;explain select * from t3 where name='leon';

整數/浮點數/時間類型的索引長度

整數類型,浮點數類型,時間類型的索引長度

NOT NULL=字段本身的字段長度
NULL=字段本身的字段長度+1(因為需要有是否為空的標記,這個標記需要占用1個字節)

datetime類型在5.6中字段長度是5個字節,datetime類型在5.5中字段長度是8個字節

ref

顯示索引的哪一列被使用了,如果可能的話,是一個常數。哪些列或常量被用于查找索引列上的值

由key_len可知t1表的idx_col1_col2被充分使用,col1匹配t2表的col1,col2匹配了一個常量,即 'ac'

查詢中與其它表關聯的字段,外鍵關系建立索引

rows

根據表統計信息及索引選用情況,大致估算出找到所需的記錄所需要讀取的行數

?

總結

以上是生活随笔為你收集整理的index-D的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。