本文目錄一覽:
mysql索引的數據結構,為什麼用b+樹
B+ 樹是對 B 樹的一個小升級。大部分資料庫的索引都是基於 B+ 樹存儲的。MySQL 的 MyISAM 和 InnoDB 引擎的索引都是基於 B+ 樹存儲。
B+ 樹最大的幾個特點:
1. 非葉子節點只保留 KEY,放棄 DATA;
2. KEY 和 DATA一起,在葉子節點,並且保存為一個有序鏈表(正序,反序,或者雙向);
3. B+ 樹的查找與 B 樹不同,當某個結點的 KEY 與所查的 KEY 相等時,並不停止查找,而是沿著這個 KEY 左邊的指針向下,一直查到該關鍵字所在的葉子結點為止。
mysql如何查看資料庫結構
1.在MySQL資料庫中通過show tables命令;查看資料庫中所有數據表
2.在MySQL資料庫中通過desc tablename;查看錶結構
如何修改mysql資料庫表結構
Online DDL 工具:pt-osc
對於 MySQL Online DDL 目前主流的有三種工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要講解 pt-online-schema-change 的使用以及三種工具的簡單對比。
一、原理及限制
1.1 原理
1. 創建一個與原表結構相同的空表,表名是 _new 後綴;
2. 修改步驟 1 創建的空表的表結構;
3. 在原表上加三個觸發器:delete/update/insert,用於 copy 數據過程中,將原表中要執行的語句在新表中執行;
4. 將原表數據以數據塊(chunk)的形式 copy 到新表;
5. rename 原表為 old 表,並把新表 rename 為原表名,然後刪除舊錶;
6. 刪除觸發器。
mysql的索引用的什麼數據結構
談到索引,大家並不陌生。索引本身是一種數據結構,存在的目的主要是為了縮短數據檢索的時間,最大程度減少磁碟 IO。
任何有數據的場景幾乎都有索引,比如手機通訊錄、文件系統(ext4\xfs\ntfs)、資料庫系統(MySQL\Oracle)。資料庫系統和文件系統一般都採用 B+ 樹來存儲索引信息,B+ 樹兼顧寫和讀的性能,最極端時檢索複雜度為 O(logN),其中 N 指的是節點數量,logN 表示對磁碟 IO 掃描的總次數。
MySQL 支持的索引結構有四種:B+ 樹,R 樹,HASH,FULLTEXT。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/151844.html