聚集索引和非聚集索引
生活随笔
收集整理的這篇文章主要介紹了
聚集索引和非聚集索引
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?指的是聚集索引,索引可分聚集和非聚集索引,這兩者區別比較多,但是最主要的區別是:
????一個表的聚集索引只能有一個,是因為數據行在保存的時候,是按聚集索引的順序保存的,你可以把它簡單的理解成物理存儲的位置,這里涉及到頁面的概念,你可以查查看。就是物理磁盤上分很多頁面,一個有聚集索引的表,他的頁面鏈是按聚集索引排列的,舉個例子,如果一個頁面已經寫滿了數據,你要插入一行,如果是非聚集索引,sql會隨便找個地方保存,把地址記錄進索引,但是如果是聚集索引,會把數據插入到這個頁面,而后面的數據同時會往后移動(用頁面拆分的辦法),看上去速度要慢,但是聚集索引在搜索時,速度會比非聚集索引快,因為他們是物理排序的。
? ?????PRIMARY KEY 或 UNIQUE 約束創建聚集或非聚集索引。PRIMARY KEY 約束默認為 CLUSTERED;UNIQUE 約束默認為 NONCLUSTERED。如果表中已存在聚集約束或索引,那么在 ALTER TABLE 中就不能指定 CLUSTERED。如果表中已存在聚集約束或索引,PRIMARY KEY 約束默認為 NONCLUSTERED。
總結
以上是生活随笔為你收集整理的聚集索引和非聚集索引的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: There is no Action m
- 下一篇: 部署MongoDB集群