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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql的优化——索引介绍

發(fā)布時間:2025/4/16 数据库 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql的优化——索引介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.




后綴為:? .MYD? 是MyISAM存儲引擎的存儲的數(shù)據(jù)文件

后綴為:? .MYI? ? 是MyISAM存儲引擎的存儲的索引文件


注:現(xiàn)在都很少使用MyISAM作為存儲引擎了。現(xiàn)在大多采用InnoDB作為存儲引擎



聚集索引(聚簇索引):索引和數(shù)據(jù)要全部放在一起。(葉子節(jié)點包含了完整的數(shù)據(jù)記錄)

?

MyISAM就沒有聚集索引。索引和數(shù)據(jù)是分開的,通過物理地址作為中間人,進行兩者的聯(lián)系



1.為什么InnoDB表主鍵要使用整型呢?

因為在進行查找某個元素的時候,需要對其索引進行比大小,而整型的索引比大小是最好的,效率很高。

字符串的索引比大小,是把字符串的每個字符逐個轉(zhuǎn)化成整型進行逐個比大小,會進行很多次比較,效率較低。

2.為什么InnoDB表要使用自增的主鍵呢?

注:為什么大多數(shù)的時候都是采用B+樹作為索引方法,而不采用hash作為索引方法呢?

? ? ? ?hash查找定位很快,效率很高。但是如下圖:

使用hash作為索引方法,不能進行范圍查找

而b+樹的存儲結(jié)構(gòu)是如下圖的:

如果要查找索引>20的元素,先定位到索引20的元素位置,再通過指針,順藤摸瓜,把后面的元素全部獲取出來。

如果要查找索引<20的元素,先定位到索引20的元素位置,再通過指針,順藤摸瓜,把前面的元素全部獲取出來。

因為b+樹在葉子節(jié)點那里,是一個雙向鏈表的結(jié)構(gòu)。(雙向鏈表的具體用法:范圍查找)

注:b+樹比起b樹來說的,進行了葉子節(jié)點處,采用雙向鏈表的結(jié)構(gòu),同時非葉子節(jié)點沒有數(shù)據(jù),減少了冗余。

所以:不建議使用UUID(字符串)。UUID既不自增也不是整型。 但是做數(shù)據(jù)表的遷移,用UUID會更好一點。

總結(jié)

以上是生活随笔為你收集整理的mysql的优化——索引介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。