mysql二級索引

2022-08-29 05:36:14 字數 1094 閱讀 3294

聚集索引葉子節點存放記錄

非聚集索引葉子節點存放key和主鍵資訊

二級索引查詢比聚集索引慢,需要回表

iot表

拆表人肉回表

myisam索引是堆表 也是有序的

myisam主鍵和唯一索引的效率相當,不需要再回表

資料檔案位址修改了,iot不需要修改

myisam適合讀的應用 innodb適合寫

iot頁內記錄有序 頁與頁也邏輯有序,做range查詢很快

堆表記錄是無序的

復合索引 不一定b是不能查詢的,索引覆蓋

5.8做全域性索引

加入b+樹的高度是3,每個頁存100頁記錄,走聚集索引只要100個頁(100次io)如果走二級索引,每個頁都要回一次表,每次有3個io,總共3萬次io

3+二級索引頁數+3*10000

5.5回表代價特別大

5.6mrr 隨機轉順序 空間換時間

放滿了排序 然後順序去查      這個記憶體有多大呢read_rnd_buffer_size(執行緒變數)

ssd多執行緒讀才能很大的iops

mysql乙個查詢只有乙個執行緒

mrr_cost_based必須要關掉mrr才能生效

mysql二級索引儲存的值 Mysql二級索引

二級索引 葉子節點中儲存主鍵值,每次查詢資料時,根據索引找到葉子節點中的主鍵值,根據主鍵值再到聚簇索引中得到完整的一行記錄。問題 1.相比於葉子節點中儲存行指標,二級索引儲存主鍵值會占用更多的空間,那為什麼要這樣設計呢?innodb在移動行時,無需維護二級索引,因為葉子節點中儲存的是主鍵值,而不是指...

mysql二級索引 mysql 什麼是二級索引

alter table t1 add index or create index alter table t1 add fulltext index alter table t1 add column,algorithm inplace opimize t1 對於最後兩個用例,alter 會建立乙個...

mysql索引,雜湊索引,聚集索引,二級索引

雜湊索引 雜湊索引,只有精確匹配索引所有列的查詢才有效,對於每一行資料,儲存引擎都會對所有的索引計算乙個雜湊碼。雜湊索引將所有的雜湊碼儲存在索引中,同時在雜湊表中儲存指向每個資料行的指標。如果多個列的雜湊值相同,索引會以鍊錶的方式存放多個指標記錄到同乙個雜湊條目中。因為索引自身只儲存對應的雜湊值,所...