成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

索引碎片整理 為什么sql server數(shù)據(jù)庫索引碎片整理?

為什么sql server數(shù)據(jù)庫索引碎片整理?本文需要您對SQL中數(shù)據(jù)的索引和存儲方法有一定的了解在SQL server中,存儲數(shù)據(jù)的最小單位是頁,每個頁可以容納8060字節(jié)的數(shù)據(jù)。頁面的組織是通過B

為什么sql server數(shù)據(jù)庫索引碎片整理?

本文需要您對SQL中數(shù)據(jù)的索引和存儲方法有一定的了解

在SQL server中,存儲數(shù)據(jù)的最小單位是頁,每個頁可以容納8060字節(jié)的數(shù)據(jù)。頁面的組織是通過B-樹結構(如果表上沒有聚集索引,則為堆結構,本文不討論),如下圖所示:

在聚集索引B-樹中,只有葉節(jié)點實際存儲數(shù)據(jù),而其他根節(jié)點和中間節(jié)點各自僅用于存儲葉節(jié)點葉節(jié)點是一個頁,每個頁都是不可分割的,服務器在每個頁中存儲數(shù)據(jù)的最小單位是表的行。當葉節(jié)點中新插入的行或更新的行不能容納當前更新的行或插入的行時,將進行分頁。在分頁過程中,將生成片段。

了解外部片段

首先,了解外部片段的“外部”是相對于頁面的。外部碎片是指分頁引起的碎片。例如,我想在現(xiàn)有聚集索引中插入一行,這會導致現(xiàn)有頁面空間不足以容納新行。這會導致分頁:

因為在SQL server中,新頁面是隨著數(shù)據(jù)的增長而生成的,聚集索引需要行之間的連續(xù)性,所以在很多情況下,分頁和原始頁面在磁盤上是不連續(xù)的。

mongodb建立索引為什么不會產(chǎn)生索引碎片?

如果mongodb直接在前臺運行index命令,整個數(shù)據(jù)庫都會被阻塞,建議采用后臺索引的方式建立。但是,這也會帶來一些問題。在2.6版本之前,即使二級服務器使用后臺模式建立索引,二級服務器仍然會以前臺模式建立索引,這也會導致數(shù)據(jù)庫阻塞問題。版本2.6修復了這個錯誤。在版本2.6之后,當使用后臺模式構建索引時,它實際上會轉向在后臺運行。為了盡量減少索引構建對mongodb服務器的影響,一種方法是將mongodb服務器轉換為單機模式并進行構建。具體步驟如下:

1。首先停止輔助服務器,取消--replset參數(shù)并更改mongodb端口后重新啟動mongodb。此時,mongodb將進入標準模式;

2。運行命令ensureindex以標準模式構建索引,建議使用前臺模式;

3。建立索引后關閉輔助服務器,按正常方式啟動服務器

4。按照上述步驟1-3依次建立二級索引。最后,臨時將主服務器轉換為輔助服務器。同樣,根據(jù)方法1-3構建索引,然后將其轉換到主服務器。這種方法雖然麻煩,但可以最大限度地減少索引操作對mongodb的影響,在某些情況下值得做。