黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

MySQL 主鍵索引和聚簇索引的區(qū)別

mysql 主鍵索引和聚簇索引的區(qū)別

1. 主鍵索引和聚簇索引的區(qū)別

mysql 聚簇索引的葉子節(jié)點(diǎn)就是數(shù)據(jù)節(jié)點(diǎn),主鍵索引就是聚簇索引嗎?答案是否定的。

在 mysql 數(shù)據(jù)庫(kù) innodb 引擎里面,主鍵索引確實(shí)就是聚簇索引。但是 myisam 引擎里面主鍵索引并不是聚簇索引。

2. 聚簇索引生成規(guī)則

對(duì)于 innodb,主鍵毫無(wú)疑問(wèn)是一個(gè)聚簇索引。但是當(dāng)一個(gè)表沒(méi)有主鍵,或者沒(méi)有一個(gè)索引,innodb 會(huì)如何處理呢?

  • 1. 如果一個(gè)主鍵被定義了,那么這個(gè)主鍵就是作為聚簇索引。
  • 2. 如果沒(méi)有主鍵被定義,那么該表的第一個(gè)唯一非空索引被作為聚簇索引。
  • 3. 如果沒(méi)有主鍵也沒(méi)有合適的唯一索引,那么innodb內(nèi)部會(huì)生成一個(gè)隱藏的主鍵作為聚簇索引,這個(gè)隱藏的主鍵是一個(gè)6個(gè)字節(jié)的列,改列的值會(huì)隨著數(shù)據(jù)的插入自增。
  • 4.自增主鍵會(huì)把數(shù)據(jù)自動(dòng)向后插入,避免了插入過(guò)程中的聚簇索引排序問(wèn)題。

聚簇索引的排序,必然會(huì)帶來(lái)大范圍的數(shù)據(jù)的物理移動(dòng),這里面帶來(lái)的磁盤(pán) io 性能損耗是非常大的。 而如果聚簇索引上的值可以改動(dòng)的話,那么也會(huì)觸發(fā)物理磁盤(pán)上的移動(dòng),于是就可能出現(xiàn) page 分裂,表碎片橫生。所以不應(yīng)該修改聚簇索引。

下一節(jié):mysql 回表查詢和索引覆蓋

mysql 教程

相關(guān)文章