2023-01-27 一、redis數據類型(ZSet) redis中的zset是一個有序集合,是一個沒有重覆元素的字元串集合。 註意:①zset中的每個成員都關聯了一個評分,這個評分是從最低分到最高分的方式進行排序的。 ②集合的成員是唯一的,但是評分可以是重覆的。 (1)將一個或多個member元 ...
change buffer
一塊存儲了更新操作的緩衝區。它存在於 MySQL 的 buffer pool 中。
它是怎麼作用的:
對於普通索引,如果更新操作的目標page頁不在記憶體中,那麼會先將這些更新操作記錄在change buffer中。等到 select 操作將該目標page頁查詢到記憶體時會執行更新。這樣減少了隨機訪問磁碟的次數。
對於唯一索引,由於執行更新操作時必須先將目標page頁讀取到記憶體中判斷唯一性,因此沒有必要使用該buffer,還能減少維護成本。
適用場景:
寫多讀少的場合。多次更新操作,然後同時merge buffer中的記錄,最大限度的利用了一次磁碟訪問。
如果是普通索引,在更新完之後馬上就查詢剛插入的那條記錄,這樣並不能降低磁碟訪問。
結論:
業務允許的情況下,儘量選擇普通索引,因為二者查詢效率幾乎無差異,而更新效率在change buffer的維護下,普通>唯一索引。