存儲和索引

1、inner DB

  • B+樹 vs B樹

    • B+樹只在葉子節(jié)點存儲數據,B樹的所有節(jié)點都存儲數據;因此B+樹在索引階段只需要IO索引段即可;
    • B+樹和B樹都是平衡樹,平衡樹的左右結點的高度差不大于1
    • B+樹的葉子結點之間以雙向鏈表鏈接和順序存儲的,方便磁盤的順序讀取和查找
  • innerDB vs myasim

  • 索引段和數據段

    • innerDB的索引和數據是分開的,索引過程不讀取數據,索引的終點是數據頁,數據頁內再通過二叉樹查找行;
  • 聚集索引和輔助索引

    • 聚集索引即主鍵索引,其他索引都是輔助索引,其他索引的終點是聚集索引,聚集索引的終點是數據頁;如果使用聚集索引的行鎖,鎖的是目標行,如果走輔助索引還是需要通過聚集索引鎖行
    • 有時候輔助索引的查詢結果再聚集索引上比較分散導致隨機讀,此時有可能不走輔助索引,退步的聚集索引;


      來自搜索
  • 自適應Hash優(yōu)化:innerDB會對熱點讀的數據行按照固定的where條件模式,自動創(chuàng)建hash索引,一次IO定位。

  • 全文索引:倒排索引

  • 數據的冷熱

    • 查詢多+熱點明顯,效率最高,最理想
    • 查詢多+冷熱均勻,在內存允許的情況下,進行查詢預熱可以抗量;
    • 修改多+熱點明顯,tps會受影響,盡可能鎖定聚集索引
    • 修改多+熱點不明顯,tps不受影響
  • 其他優(yōu)化

    • mysql申請的頁都是以磁盤磁道單元為基礎的,每一行最少的尋軌跡,主鍵索引相鄰的行存儲在一頁
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容