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

歡迎訪問 生活随笔!

生活随笔

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

数据库

mysql单表最大数据量_你的Mysql库真需要Adaptive Hash Index

發布時間:2024/9/19 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql单表最大数据量_你的Mysql库真需要Adaptive Hash Index 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說起AHI(Adaptive Hash Index),有的同學估計很陌生,都沒聽說,沒關系,下面我會詳細解釋說明的,AHI是什么,mysql庫為什么要設計AHI,解決什么問題,只有了解這些原理之后,才能判斷,你的業務庫是否需要AHI。

在說AHI之前,先給大家提一下B+tree索引層數的問題,我們都是知道,隨著MySQL數據庫單表數據量越來越多(在這里留一個問題,多少數據量,才會導致B+tree層數增加呢?),B+tree的層數會逐漸增高。

當數據層數增加,索引檢索時,從根節點到葉子節點的時間成本就會變大,這是因為需要搜索更多的枝節點。

這個時候,Mysql數據庫的設計者,就考慮用一種技術去解決檢索成本的問題,使用一種緩存結構,使用檢索條件,可以直接查詢需要的葉子節點數據,而不用逐層的搜索,跳過枝節點。這個緩存結構就是AHI,也就是自適應哈希索引(Adaptive Hash Index)。

在mysql數據庫中AHI默認是開啟的,并且占用buffer pool大小的1/16

[root@localhost] 14:11:04 [(none)]>show variables like '%innodb_adaptive_hash_index%';+----------------------------------+-------+| Variable_name | Value |+----------------------------------+-------+| innodb_adaptive_hash_index | ON || innodb_adaptive_hash_index_parts | 8 |+----------------------------------+-------+2 rows in set (0.00 sec)

AHI是可以在線關閉的,執行以下命令就可以關閉了

[root@localhost] 14:16:47 [(none)]>set global innodb_adaptive_hash_index=off;Query OK, 0 rows affected (0.00 sec)[root@localhost] 14:16:57 [(none)]>show variables like '%innodb_adaptive_hash_index%';+----------------------------------+-------+| Variable_name | Value |+----------------------------------+-------+| innodb_adaptive_hash_index | OFF || innodb_adaptive_hash_index_parts | 8 |+----------------------------------+-------+2 rows in set (0.00 sec)

而且不是B+tree索引樹上什么數據都能進入到AHI的,是需要滿足一定條件才能被加載到AHI緩沖區

寫到這里,大家可能有點迷糊了,既然AHI是為了提高索引查詢效率,減少搜索時間的,為什么要關閉呢?

在這里大家回想一下,AHI解決的是什么問題,是因為B+tree索引層數高,導致索引搜索時間變成,那么這里就得想想,B+tree索引層數到底有多高,多少業務記錄數才會到知道層數加1。

在MySQL中一個頁大小為16Kb,這個是可以從參數里查看的

[root@localhost] 15:59:19 [(none)]>show variables like 'innodb_page_size';+------------------+-------+| Variable_name | Value |+------------------+-------+| innodb_page_size | 16384 |+------------------+-------+1 row in set (0.00 sec)

如果業務表一條記錄平均長度為1Kb,那么1個頁,可以存放16條業務記錄,假設主鍵ID為bigint類型,其長度為8個字節,在B+tree里,頁面指針大小為6字節,這樣枝節點和根節點,一條記錄是14字節,那么一個頁中能存放多少這樣的記錄呢,16384/14=1170,一顆高度為2的B+tree可以存放1170 * 16=18720條記錄,如果高度為3,則可以存放1170 * 1170 * 16=21902400條記錄,大約2000多萬條記錄,可以滿足絕大多數單表記錄條數了,如果是交易訂單表超過,建議分表,保證單表記錄數不超過500W,單表大小不超過10G。

上述例子講的是主鍵索引,普通的二級索引的情況呢,假設主鍵ID為bigint類型,其長度為8個字節,二級索引為vachar類型,長度為10,那么索引葉子節點可以存放16384/48=341,在這里需要注意如果是utf8,則占用30字節,utf8mb4則占用40字節,假設二級索引10個長度全部寫滿,在utf8mb4情況下,頁面指針大小6字節+二級索引列長度40,一個16k的非葉子節點頁能存放16384/46=356條記錄。
一顆高度為2的B+tree能存放的索引記錄為:341 * 356 = 121396
一顆高度為3的B+tree能存放的索引記錄為:341 * 356 * 356 = 43216976
可以看到大約能存放4000多萬二級索引數據。

綜上可以看出,生產上的B+tree的高度基本不會超過3,而能被加載到AHI緩沖區的數據也不會太多,除非是經常被索引查詢的業務數據,而且現在數據庫服務器開始大量使用SSD盤,隨機讀的速度也很快,可以考慮關閉AHI,將內存釋放,還給buffer pool,同時,在做truncate table,drop table時,不用再清理AHI中清理要刪除表的數據塊,提高truncate table,drop table速度。

總結

以上是生活随笔為你收集整理的mysql单表最大数据量_你的Mysql库真需要Adaptive Hash Index的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 欧美三级精品 | av在线有码| 午夜秋霞 | 日韩成人高清在线 | 日韩精品在线观看一区二区 | 欧美精品123 | 亚洲成人av影片 | 国产毛片一区 | 久草日韩| 精品视频站长推荐 | 91成人免费观看 | 亚洲第一成人av | 亚洲第四页| 免费jizz | 午夜丁香网 | 五月天激情啪啪 | 日本精品视频 | 国内av| 91麻豆精品在线观看 | 日本一区视频在线观看 | 久久久久成人精品无码 | 在线观看亚洲 | 国产91熟女高潮一区二区 | 婷婷成人在线 | 关之琳三级全黄做爰在线观看 | 小柔的裸露日记h | a√国产 | 久久精品欧美一区二区三区不卡 | 神马久久网 | 天天操天天操天天操天天操 | 丁香九月婷婷 | 国产青青青 | 国产精品破处 | 91av毛片| 久久亚洲综合国产精品99麻豆精品福利 | 欧美综合社区 | 国产精品成人久久久 | 综合网亚洲 | 国产又粗又猛又黄视频 | 久久精品店 | 1000部拍拍拍18勿入免费视频 | 久久狠狠婷婷 | 操大逼网站 | 阿v天堂网| 亚洲自拍电影 | 亚洲一区自拍 | 欧美一级α片 | 韩国一区二区在线播放 | 亚洲欧美高清 | 国产一区二区 | 丰满尤物白嫩啪啪少妇 | 亚洲一区二区三区成人 | 久久久成人精品一区二区三区 | 青青欧美 | 亚洲性网 | 国内精品视频在线播放 | 91av免费在线观看 | 欧美成人秋霞久久aa片 | caoporn超碰97 | 黄色小说在线观看视频 | 人妻少妇无码精品视频区 | 欧美调教视频 | 日韩免费播放 | 少妇高潮一区二区三区喷水 | 苍井空浴缸大战猛男120分钟 | www.精品视频 | av中文天堂在线 | 成人深夜福利 | 久久久久18| 中文字幕在线视频一区 | 婷婷综合六月 | 激情福利社 | 国产白浆一区二区 | 欧美猛操 | 99久久婷婷国产综合精品 | 一级黄色大毛片 | 99热一区二区 | 91中文视频| 国产探花一区 | 国产黄a三级三级三级 | 国产天堂第一区 | 亚洲国产理论 | 色婷婷婷 | 国产极品探花 | 国产女主播一区二区三区 | 尤物精品视频在线观看 | 在线观看二区 | 亚洲国产成人精品女人 | 简单av网 | 窝窝视频在线观看 | 中文字幕无码不卡免费视频 | 日本三级日本三级日本三级极 | 成人免费看片39 | 亚洲国产成人精品91久久久 | 99国产超薄肉色丝袜交足 | 国产精品高清无码在线观看 | 99热只有这里有精品 | 精品人妻一区二区三区三区四区 | 91网站免费视频 |