久综合色-久综合网-玖草影视-玖草资源在线-亚洲黄色片子-亚洲黄色片在线观看

Hello! 歡迎來到小浪云!


MySQL 中 key_len 為何與預期不符?


avatar
小浪云 2024-11-09 158

MySQL 中 key_len 為何與預期不符?

mysql 中 key_len 的計算方式

你在運行 EXPLaiN 查看執行計劃時,注意到了 key_len 不是你預期的 60,而是 80。這是因為 MySQL 中 key_len 的計算方式與你想象的不同。

在 MySQL 中,char 和 varchar 類型的數據在存儲時都會被轉換為 UTF-8。每個 UTF-8 字符的長度從 1 到 4 個字節不等,具體取決于字符的編碼。

對于 char(20) 類型的列,它實際上可以在存儲中占用高達 80 個字節,因為每個字符最多可以占用 4 個字節。因此,即使表中只有 3 條記錄,key_len 仍然是 80,而不是 60。

值得注意的是,key_len 并不是指表中實際存儲的數據大小,而是指索引中存儲的數據大小。索引是根據表中的列創建的,它本質上是一種快速查找表中數據的目錄。由于索引是按照升序或降序排列的,因此索引中的值必須按該順序存儲。

因此,MySQL 會使用一種叫做前綴壓縮的技術來存儲索引值。這種技術可以減少索引中存儲的數據大小,從而提高查詢性能。前綴壓縮會刪除索引值中重復的字符序列,并用指向這些重復字符序列的指針代替。

在你的例子中,student_name 索引的值都是以 ‘L’ 開頭的。因此,MySQL 會將 ‘L’ 字符存儲一次,并在其他值中用指向 ‘L’ 字符的指針代替。這可以大大減少索引值的大小,從而降低 key_len。

相關閱讀

主站蜘蛛池模板: 亚洲一区二区三区不卡在线播放 | 欧美在线不卡 | 精品国产一二三区在线影院 | 成人看片黄a免费 | 亚洲精品国精品久久99热 | 亚洲特一级毛片 | 在线不卡一区二区三区日韩 | 欧美日本在线一区二区三区 | 亚洲精品在线看 | 午夜免费片在线观看不卡 | 成人毛片免费在线观看 | 日韩中文字幕精品 | 日本女人www | 成人在线观看不卡 | 91视频18| 久久久一级| 波多野结衣在线不卡 | 九草在线观看 | 一区二区三区网站在线免费线观看 | 欧美怡红院在线 | 久久国产免费一区 | 99久久成人国产精品免费 | 狼人 成人 综合 亚洲 | 久久国产精品-久久精品 | 久久亚洲国产最新网站 | 香港国产特级一级毛片 | 国产精品日韩 | 久爱免费观看在线网站 | 成年人在线观看视频网站 | 性a爱片免费视频性 | 91香蕉成人 | 欧美最刺激好看的一级毛片 | 欧美性xxxx18 | 精品日韩欧美一区二区三区在线播放 | 久久是精品| 波多野一区二区三区在线 | 国产精品激情丝袜美女 | 欧美三级欧美成人高清www | 精品国产免费一区二区三区 | 国产亚洲一区二区三区在线 | 91情国产l精品国产亚洲区 |