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 ...