什么是聚簇索引


聚簇索引不是一種索引類型,而是一種數據存儲方式。innoDB的聚簇索引實際上在同一個結構中保存了B-Tree索引和數據行。當表有聚簇索引時,它的行數據實際上存放在索引的葉子頁中,因為無法同時把數據行存放在兩個不同的地方,所以一個表只能有一個聚簇索引。

優點:

  • 可以把相關數據保存在一起,數據訪問就更快。
  • 聚簇索引將索引和數據保存在同一個B-Tree中,因此獲取數據比非聚簇索引要更快。
  • 使用聚簇索引掃描的查詢可以直接使用頁節點中的主鍵值。

缺點:

  • 聚簇索引最大程度提高了IO密集型應用的性能,如果數據全部在內存中將失去優勢。
  • 更新聚簇索引列的代價很高,因為會強制每個被更新的行移動到新位置。
  • 基於聚簇索引的表插入新行或主鍵被更新導致行移動時,可能導致頁分裂,表會占用更多磁盤空間。
  • 當行稀疏或由於頁分裂導致數據存儲不連續時,全表掃描可能很慢。


免責聲明!

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



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