中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Mysql存儲引擎InnoDB兩種架構介紹-創新互聯

下面一起來了解下Mysql存儲引擎InnoDB兩種架構,相信大家看完肯定會受益匪淺,文字在精不在多,希望Mysql存儲引擎InnoDB兩種架構這篇短內容是你想要的。

成都創新互聯公司-成都網站建設公司,專注成都網站設計、網站制作、網站營銷推廣,申請域名,虛擬空間,網站運營有關企業網站制作方案、改版、費用等問題,請聯系成都創新互聯公司

首先來看官方文檔對InnoDB的解釋:

InnoDB是一個平衡了高可用和高性能的通用存儲引擎。

優勢

  • 保護用戶數據:DML操作,通過事務來遵循ACID模型

  • 高性能:行級鎖,一致性讀取

  • 最小化主鍵查找的IO:聚簇索引

  • 數據完整性:外鍵

  • 崩潰恢復

  • 在主內存緩存索引數據和緩存表

  • 外鍵

  • 校驗機制

  • 只要你在設計表時選擇了合適的主鍵,主鍵列where、order by、group by、join操作會被自動優化

  • 自適應哈希索引

InnoDB架構

InnoDB的整體架構可以分為兩個部分:內存架構、磁盤架構

Mysql存儲引擎InnoDB兩種架構介紹

InnoDB內存架構

InnoDB在內存中主要包括下面幾個部分:緩沖池、Change緩沖區、自適應哈希索引、Log緩沖區

【一】緩沖池

簡介: 存儲訪問時的緩存表和索引數據。在專用云服務器上,通常會為緩沖池分配80%的物理內存

作用: 可以快速從內存獲取數據,加快了處理速度。

技術要點:

Page:為了high-volume的讀取效率,緩沖池進一步被分為頁的結構。

LRU:為了緩存的管理效率,緩沖池實現page間的鏈表,使用LRU算法。緩沖池使用調整后的LRU(最近最少使用)算法,當需求添加新的page時,最近最少使用的page被清除,同時新頁面被添加到鏈表的中間部分

這種中間點插入的策略,把鏈表分為兩個子鏈表

  • 頭部:最近被訪問過的“年輕”頁

  • 尾部:最近被訪問的old page

這樣使新子列表中保存更重要的page,舊子列表包含較少使用的page,這部分page是被清除的候選page

Mysql存儲引擎InnoDB兩種架構介紹

默認情況下,算法配置如下:

  • 舊子列表:緩沖池的3/8

  • midpoint(中間點)是新子列表尾部和舊子列表頭部的交界

  • 當舊頁被訪問,會被移動到緩沖池的頭部,隨著數據庫的運行,一直沒有被訪問的頁會一直后移,直至最后被移除。

【二】Change Buffer

Change Buffer是一種特殊的數據結構,當某些頁面不在緩沖池中,緩存會改變二級索引page,這可能會造成insert,update,delete(DML)操作會與其他從緩沖池中的讀操作加載的page合并。

Mysql存儲引擎InnoDB兩種架構介紹

不同于聚簇索引,二級索引通常不唯一,同時二級索引的插入相對隨機。

同時,為了避免頻繁的IO隨機讀寫,當更新和刪除操作時,并不會立即寫入磁盤,而是會選擇系統空閑時定期進行寫入磁盤的操作。Change Buffer在內存中,是緩沖池中的一部分,在磁盤中,是系統表空間的一部分。

【三】自適應哈希索引

簡介: InnoDB可以基于搜索的模式,使用索引鍵前綴構建哈希索引,也就是說,這個哈希索引是由經常訪問的索引頁面構建的。

作用: 在不犧牲事務特性和可靠性的基礎上,使InnoDB像一個內存數據庫一樣工作,也就是說在一定情況下,通過這種哈希索引的方式會提升查詢速度。InnoDB中存在一種監視索引搜索的機制,但這種機制有時反倒帶來額外的開銷。所以在選擇是否使用哈希索引前,可能需要做好基準測試,否則還是建議禁用。

InnoDB磁盤架構

通過上面的整體架構圖可以看到,InnoDB在磁盤中存儲的信息包括:各種表空間(TableSpace),Redo Log。

InnoDB對數據存儲方式的設計,主要是基于表空間的形式。表空間的種類如下圖所示:

Mysql存儲引擎InnoDB兩種架構介紹

使用InnoDB表的限制,來自MySQL官方文檔,感覺有些還是挺有趣的,但可能實際場景中并不會用到:

  1. 一個表最多包含1017列,表示并沒有創建過這樣多列的表

  2. 一個表最多可以創建64個二級索引

  3. 索引鍵前綴長度限制為3072字節

Undo Log 和 Redo Log

這里還有兩個Log區域需要關注一下:

Undo Log

Undo Log是與事務讀寫關聯的,主要作用在事務回滾和多版本并發控制中。

Undo Log在回滾段中存儲,回滾段在Undo表空間和全局臨時表空間中。Undo log被分為insert undo log 和update undo log。Insert undo log 只在事務回滾時需要,一旦事務提交就被丟棄。Update undo log 也被用在一致性讀,在一致性讀中可能需要update undo log的信息來生成該行數據早期的版本。

關于undo log的建議

定期地提交事務,包括哪些只包含一致性讀的事務,否則,InnoDB不會丟棄update undo log中的數據,回滾段會變得越來越大,占滿空間。undo log中回滾段的物理空間,通常小于相應插入或更新的行,可以利用這個信息計算回滾段需要的空間

Redo Log

也就是ib_logfile0和ib_logfile1兩個文件

這里結合的是MySQL的WAL(Write-Ahead Logging)也就是先寫日志,再寫磁盤,具體過程是下面這樣:當有一條記錄要更新,先將記錄寫到redo log,并更新內存,InnoDB會在空閑的時候,把操作記錄更新到磁盤。

官方建議的最佳實踐

  • 指定主鍵

  • 外鍵

  • 關閉自動提交

  • DML的事務進行分組

  • 不要用lock table,如果希望某行的獨占寫,用 select … for update

  • 啟用innode_file_per_table

點擊獲取 附送學習進階架構資料、PDF書籍文檔、面試資料

Mysql存儲引擎InnoDB兩種架構介紹

Mysql存儲引擎InnoDB兩種架構介紹

看完Mysql存儲引擎InnoDB兩種架構這篇文章后,很多讀者朋友肯定會想要了解更多的相關內容,如需獲取更多的行業信息,可以關注我們的行業資訊欄目。

創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。

新聞名稱:Mysql存儲引擎InnoDB兩種架構介紹-創新互聯
標題來源:http://www.2m8n56k.cn/article8/dgheip.html

成都網站建設公司_創新互聯,為您提供Google云服務器建站公司網站策劃做網站品牌網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設公司
主站蜘蛛池模板: 国产a级午夜毛片 | 亚洲精品自拍视频 | a毛片免费播放全部完整 | 农村寡妇女人一级毛片 | 国产美女视频网站 | 成人免费毛片视频 | 福利视频午夜 | 91无套极品外围在线播放 | 大胆gogo999亚洲肉体艺术 | 亚洲日本aⅴ片在线观看香蕉 | 成人在线免费播放 | 国产日韩欧美精品一区二区三区 | 高清一级淫片a级中文字幕 高清一区二区 | 99视频网址 | 欧美视频在线观看网站 | 乱人伦中文视频在线观看免费 | 中国女人毛茸茸免费视频 | 一级视频在线播放 | 欧美一级免费大片 | 日韩国产欧美精品综合二区 | 亚洲成a人片在线网站 | 久久成人在线 | 亚洲视频一区二区在线观看 | 欧美a大片欧美片 | 成人毛片国产a | 欧美精品伊人久久 | 欧美精品在线一区二区三区 | 99久久精品免费看国产一区二区 | 欧美一级aa天码毛片 | 久久99亚洲精品久久久久99 | 好吊妞998视频免费观看在线 | 91精品国产福利尤物免费 | 成人a毛片视频免费看 | www.操操操| 美国美女一级毛片免费全 | 亚洲精品在线视频观看 | 亚洲欧美精品一区 | 日本加勒比在线播放 | 三级毛片免费观看 | 99久久精品国产一区二区 | 成人毛片免费观看视频在线 |