SQL Server誤區(qū)30日談 第29天 有關(guān)堆碎片的誤區(qū)
更新時間:2013年01月09日 22:12:10 投稿:mdxy-dxy
對堆建聚集索引再DROP在我看來是除了收縮數(shù)據(jù)庫之外最2的事了
誤區(qū) #29:可以通過對堆建聚集索引再DROP后進(jìn)行堆上的碎片整理
Nooooooooooooo!!!
- 如果非聚集索引所在的表是堆,那么這個鏈接就是一個RID。
- 如果非聚集索引所在的表是聚集索引,那么這個鏈接就是聚集索引鍵。
如果你希望對此有更多了解,請看文章底部的鏈接。
因此不難看出,如果你希望將堆變?yōu)榫奂饕?,那么非聚集索引的所有RID就失效了,因此所有的非聚集索引都需要被重建。同樣,如果刪除聚集索引鍵,那么所有非聚集索引上存儲的聚集索引鍵都會失效,因此也需要重建所有的非聚集索引。
簡單點說,如果你建立再刪除聚集索引后,所有的非聚集索引都會被重建兩次。
如果你使用SQL Server 2008的ALTER TABLE ... REBUILD來整理堆碎片,那么同樣也需要重建所有的非聚集索引,因為所有的RID都會變動。
那么,如果對于“重建”聚集索引呢?這取決于SQL Server的版本以及你是進(jìn)行rebuild索引
相關(guān)文章
SQL實現(xiàn)篩選出連續(xù)3天登錄用戶與窗口函數(shù)的示例代碼
本文主要介紹了SQL實現(xiàn)篩選出連續(xù)3天登錄用戶與窗口函數(shù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04SQLServer中的切割字符串SplitString函數(shù)
有時我們要用到批量操作時都會對字符串進(jìn)行拆分,可是SQL Server中卻沒有自帶Split函數(shù),所以要自己來實現(xiàn)了。沒什么好說的,需要的朋友直接拿去用吧2011-11-11數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別
大部分?jǐn)?shù)據(jù)庫語句的基本語法是相同的,但具體到的每一種數(shù)據(jù)庫,又有些不一樣,例如觸發(fā)器,DB2和SQL Server兩種很大的不同。對數(shù)據(jù)庫觸發(fā)器DB2和SqlServer有哪些區(qū)別感興趣的朋友一起看看本文吧2015-11-11SQLServer導(dǎo)出數(shù)據(jù)到MySQL實例介紹
本文為大家詳細(xì)介紹下從SQLServer導(dǎo)出數(shù)據(jù)并將數(shù)據(jù)導(dǎo)入到MySQL,具體的實現(xiàn)如下,感興趣的朋友可以參考下哈2013-07-07SQL?SERVER數(shù)據(jù)庫中日期格式化詳解
這篇文章主要給大家介紹了關(guān)于SQL?SERVER數(shù)據(jù)庫中日期格式化的相關(guān)資料,在SQL?Server中可以使用CONVERT函數(shù)來格式化日期,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09sqlserver數(shù)據(jù)庫危險擴展刪除和恢復(fù)代碼
今天為了實現(xiàn)sqlserver的復(fù)制功能,因為以前刪除了很多的sqlserver的一些會導(dǎo)致不安全因素的擴展,導(dǎo)致很多功能無法用,沒有辦法需要重新的恢復(fù)擴展。2010-07-07sqlserver 復(fù)制表 復(fù)制數(shù)據(jù)庫存儲過程的方法
復(fù)制整個SqlServer數(shù)據(jù)庫的問題的比較好的方法2008-02-02