本文主要介紹sql錯(cuò)誤302(sql302錯(cuò)誤),下面一起看看sql錯(cuò)誤302(sql302錯(cuò)誤)相關(guān)資訊。
誤區(qū)29: #可以在堆上整理聚簇索引堆的構(gòu)造然后drop nooooooooooooo?。?!除了縮小數(shù)據(jù)庫,下拉是我認(rèn)為最好的兩件事。如果看到堆中的碎片通過sys.dm_db_index_physical_stats(或舊版本的dbcc showcontig),請不要安排重疊的碎片來構(gòu)建聚集索引和刪除聚集字符串。最好的方法是建立聚集索引,而不刪除它。有很多數(shù)據(jù)可以解釋如何選擇理想的聚集索引鍵?!终中?。金伯利 的文章總結(jié)了這一點(diǎn):越來越多的聚集關(guān)鍵是——聚集指數(shù)的辯論!(注意是基于sql server 2005版本)。也可以通過sql tables … rebuild清除sql server 2008中的堆碎片,但這和設(shè)置一個(gè)聚集索引再刪除一樣糟糕。如果你要問我為什么對它有這么多偏見,我來解釋一下:非聚集索引中的每個(gè)索引都指向一個(gè)清除或指向索引鍵的鏈接。(請參閱:如果刪除聚集索引會發(fā)生什么),該鏈接將以兩種之一出現(xiàn)。如果非聚集索引表是一個(gè)堆,則該鏈接是一個(gè)明文。如果非聚集索引所在的表是聚合索引,則該鏈接是聚合索引鍵。如果你想了解更多,請查看文章底部的鏈接。所以不難看出,如果要把堆改成聚集索引,所有的非聚集索引都是無效的,所以所有的非聚集索引都需要重建。同樣,如果刪除了聚集索引的鍵,聚集索引的所有鍵都將無法存儲在非聚集索引中,因此需要重新生成非聚集索引。簡而言之,如果將索引設(shè)置為刪除聚集索引,所有非聚集索引都將重新生成兩次。如果您使用sql server 2008 為了對堆進(jìn)行碎片整理,還需要重建所有的非聚集索引,因?yàn)樗械那宄紝⒏淖儭D敲?,如果重建總索引呢?這取決于sql server的版本。您可以重建索引或更改索引。一個(gè)常見的誤解是分區(qū)表的聚集索引鍵會改變,但事實(shí)并非如此。這些操作將導(dǎo)致非聚集索引的重建。請參見下面的列表:每個(gè)角度:當(dāng)非聚集索引出現(xiàn)時(shí),當(dāng)。
了解更多sql錯(cuò)誤302(sql302錯(cuò)誤)相關(guān)內(nèi)容請關(guān)注本站點(diǎn)。