SQL Server誤區(qū)30日談 第29天 有關(guān)堆碎片的誤區(qū)
更新時(shí)間:2013年01月09日 22:12:10 投稿:mdxy-dxy
對(duì)堆建聚集索引再DROP在我看來是除了收縮數(shù)據(jù)庫之外最2的事了
誤區(qū) #29:可以通過對(duì)堆建聚集索引再DROP后進(jìn)行堆上的碎片整理
Nooooooooooooo!!!
- 如果非聚集索引所在的表是堆,那么這個(gè)鏈接就是一個(gè)RID。
- 如果非聚集索引所在的表是聚集索引,那么這個(gè)鏈接就是聚集索引鍵。
如果你希望對(duì)此有更多了解,請(qǐng)看文章底部的鏈接。
因此不難看出,如果你希望將堆變?yōu)榫奂饕敲捶蔷奂饕乃蠷ID就失效了,因此所有的非聚集索引都需要被重建。同樣,如果刪除聚集索引鍵,那么所有非聚集索引上存儲(chǔ)的聚集索引鍵都會(huì)失效,因此也需要重建所有的非聚集索引。
簡單點(diǎn)說,如果你建立再刪除聚集索引后,所有的非聚集索引都會(huì)被重建兩次。
如果你使用SQL Server 2008的ALTER TABLE ... REBUILD來整理堆碎片,那么同樣也需要重建所有的非聚集索引,因?yàn)樗械腞ID都會(huì)變動(dòng)。
那么,如果對(duì)于“重建”聚集索引呢?這取決于SQL Server的版本以及你是進(jìn)行rebuild索引
相關(guān)文章
SQLSERVER 臨時(shí)表和表變量的區(qū)別匯總
不管臨時(shí)表還是表變量都帶了表這個(gè)詞,既然提到表 ,按推理自然會(huì)落到某數(shù)據(jù)庫中,如果真在一個(gè)數(shù)據(jù)庫中,那自然就有它的存儲(chǔ)文件 .mdf和.ldf,那是不是如我推理的那樣呢,這篇文章主要介紹了SQLSERVER 臨時(shí)表和表變量到底有什么區(qū)別,需要的朋友可以參考下2023-02-02
Microsoft SQL Server 2012 數(shù)據(jù)庫安裝圖解教程
這篇文章主要為大家介紹下Microsoft SQL Server 2012 數(shù)據(jù)庫安裝教程,需要的朋友可以參考下2013-11-11
sql server使用臨時(shí)存儲(chǔ)過程實(shí)現(xiàn)使用參數(shù)添加文件組腳本復(fù)用
這篇文章主要介紹了sql server通過臨時(shí)存儲(chǔ)過程實(shí)現(xiàn)使用參數(shù)添加文件組腳本復(fù)用,需要的朋友可以參考下2019-12-12
SQL Server 使用join all優(yōu)化 or 查詢速度
一個(gè)老項(xiàng)目,加載列表奇慢,超過10秒鐘, 主要涉及兩個(gè)表, user表,procuts表。因?yàn)樯婕岸鄬哟?,使用site字段保存目錄2020-09-09

