mysql引擎及其索引結構

2021-08-18 02:25:36 字數 758 閱讀 5917

mysql  使用的引擎:

1)  myisam 不支援事務,適用於選擇密集型,插入密集型,mysql 預設的引擎

2)  innodb 使用於更新密集型,支援事務,自動災難恢復,行級鎖,外來鍵約束

3)memory 出發點是速度 採用的邏輯儲存介質是記憶體

4)merge 一組 myisam 表的組合

mysq  索引使用的資料結構:b+樹

索引:用於提高資料訪問速度的資料庫物件。

優點:1)索引可以避免全表掃瞄;

2)對於非聚集索引,有些查詢甚至可以不訪問資料項;

3)聚集索引可以避免資料插入操作集中於表的最後乙個資料頁;

4)一些情況下,索引還可以避免排序。

雖然索引可以提高查詢速度,但是他們也會導致資料庫更新資料的效能下降,因為大部

分資料更新時需要同時更新索引。

聚集索引:資料按索引順序儲存,葉子節點儲存真實的資料行,不再有另外單獨的資料

頁。在一張表上只能建立乙個聚集索引,因為真實資料的物理順序只能有 1 種,若一張表沒

有聚集索引,則他被稱為堆集,這樣表的資料行無特定的順序,所有新行將被新增到表的末

尾。非聚集索引與聚集索引的區別:

1)葉子節點並非資料節點

2)葉子節點為每乙個真正的資料行儲存乙個「鍵-指標」對

3)葉子節點中還儲存了乙個指標偏移量,根據頁指標及指標偏移可以定位到具體的數

據行。4)在除葉節點外的其他索引節點,儲存的是類似內容,只不過是指向下一級索引頁。

類載入

mysql索引結構及其原理

1 定義 索引是一種資料結果,幫助提高獲取資料的速度 為了提高查詢速度,有很多查詢優化演算法。但是每種查詢演算法都只能應用於特定資料結構之上。索引就是資料庫建立的滿足特定查詢演算法的資料結構,這些資料結構以某種方式引用 指向 資料 2 目前大部分資料庫系統及檔案系統都採用b tree或其變種b tr...

mysql的索引及其資料結構

mysql使用中,當業務量過大,通常會通過建立索引增加效率。兩種索引 索引其實是一種資料結構,在mysql中主要有兩種 hash索引和b tree 索引。兩者中hash索引是無序的,不支援範圍查詢,只適合等值查詢。b 樹是一種多路平衡查詢樹,所以他的節點是有序的 左子節點小於父節點 父節點小於右子節...

mysql索引,引擎選擇

foreign key 外來鍵 set null 在父表上update delete記錄時,將子表上匹配記錄的列設為null 要注意子表的外來鍵列不能為not null no action 如果子表中有匹配的記錄,則不允許對父表對應候選鍵進行update delete操作 restrict 同no ...