回覆列表
  • 1 # 滴逃逃

    索引有兩種型別,分別是聚集索引(clustered index,也稱聚類索引、簇集索引)和非聚集索引(nonclustered index,也稱非聚類索引、非簇集索引)。

    聚集索引在一個表中只能有一個,預設情況下在主鍵建立的時候建立,它是規定資料在表中的物理儲存順序,我們也可以取消主鍵的聚集索引,所以必須考慮 資料庫可能用到的查詢型別以及使用的最為頻繁的查詢型別,對其最常用的一個欄位或者多個欄位建立聚集索引或者組合的聚集索引,它就是SQL Server會在物理上按升序(預設)或者降序重排資料列,這樣就可以迅速的找到被查詢的資料。

    非聚集索主要是資料儲存在一個地方,索引儲存在另一個地方,索引帶有指標指向資料的儲存位置。索引中的專案按索引鍵值的順序儲存,而表中的資訊按另 一種順序儲存。可以在一個表格中使用高達249個非聚集的索引,在查詢的過程中先對非聚集索引進行搜尋,找到資料值在表中的位置,然後從該位置直接檢索數 據。這使非聚集索引成為精確匹配查詢的最佳方法,因為索引包含描述查詢所搜尋的資料值在表中的精確位置的條目。

    填充因子:

    使用 fill factor 選項可以指定 Microsoft SQL Server 使用現有資料建立新索引時將每頁填滿到什麼程度。由於在頁填充時 SQL Server 必須花時間來拆分頁,因此填充因子會影響效能。

    僅在建立或重新生成索引時使用填充因子。頁面不會維護在任何特定的填充水平上。

    fill factor 的預設值為 0,有效值介於 0 和 100 之間。FILLFACTOR 設定為 0 或 100 時,葉級別幾乎完全填滿,但至少會保留一個其他索引行的空間。這樣設定後,葉級別空間會得到有效利用,而且仍有空間可以在必須拆分頁之前進行有限擴充套件。很少需要更改 fill factor 的預設值,因為可以使用 CREATE INDEX 或 ALTER INDEX REBUILD 語句來覆蓋其對於指定索引的值。

  • 中秋節和大豐收的關聯?
  • 兒童詩,賞析該怎樣寫?