堆表 索引組織表


堆表 :

  • 堆就是無序數據的集合,索引就是將數據變得有序,在索引中鍵值有序,數據還是無序的
  • 數據存放在數據里面,索引存放在索引里
  • 堆表中,主鍵索引和普通索引一樣的,葉子節點存放的是指向堆表中數據的指針(可以是一個頁編號加偏移量),指向物理地址,沒有回表的說法
  • 堆表中,主鍵和普通索引基本上沒區別,和非空的唯一索引沒區別
  • mysql 的 myisam 引擎,oracle pg 都支持的是堆表

 

索引組織表:

  • innodb 引擎支持的就是索引組織表
  • 對於主鍵的索引,頁子節點存放了一整行所有數據,其他索引稱為輔助索引(二級索引),它的頁子節點只是存放了鍵值和主鍵值
  • 主鍵包含了一張表的所有數據,因為主鍵索引的頁子節點中保存了每一行的完整記錄,包括所有列。如果沒有主鍵,MySQL會自動幫你加一個主鍵,但是對用戶不可見
  • innodb中數據存放在聚集索引中,換言之,按照主鍵的方式來組織數據的
  • 其他索引(唯一索引,普通索引)的頁子節點存放該索引列的鍵值和主鍵值
  • 不管是什么索引非頁子節點存放的存放的就是鍵值和指針,不存數據,這個指針在innodb中是6個bit,鍵值就看數據大小了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM