DBCC DBREINDEX 重建索引

2021-05-23 21:34:09 字數 2321 閱讀 7744

transact-sql 參考

重建指定資料庫中表的乙個或多個索引。

語法dbcc dbreindex

(['database.owner.table_name'    

[,index_name

[,fillfactor ]

] ]

)[ with no_infomsgs ]

引數'database.owner.table_name'

是要重建其指定的索引的表名。資料庫、所有者和表名必須符合識別符號的規則。有關更多資訊,請參見使用識別符號。如果提供 database 或 owner 部分,則必須使用單引號 (') 將整個 database.owner.table_name 括起來。如果只指定 table_name,則不需要單引號。

index_name

是要重建的索引名。索引名必須符合識別符號的規則。如果未指定 index_name 或指定為 ' ',就要對錶的所有索引進行重建。

fillfactor

是建立索引時每個索引頁上要用於儲存資料的空間百分比。fillfactor 替換起始填充因子以作為索引或任何其它重建的非聚集索引(因為已重建聚集索引)的新預設值。如果 fillfactor 為 0,dbcc dbreindex 在建立索引時將使用指定的起始 fillfactor。

with no_infomsgs

禁止顯示所有資訊性訊息(具有從 0 到 10 的嚴重級別)。

注釋dbcc dbreindex 重建表的索引或為表定義的所有索引。通過允許動態重建索引,可以重建強制 primary key 或 unique 約束的索引,而不必除去並重新建立這些約束。這意味著不必知道表的結構或約束就可以重建索引,將資料大容量複製到表中後就會出現這種情況。

如果指定 index_name 或 fillfactor,還必須指定以前所有的引數。

dbcc dbreindex 可以使用一條語句重建表的所有索引,這比對多個 drop index 和 create index 語句進行編碼容易。由於該工作是通過一條語句完成的,所以 dbcc dbreindex 自動為原子性,而單個 drop index 和 create index 語句要成為原子性則必須放在事務中。另外,與使用單個 drop index 和 create index 語句相比,dbcc dbreindex 可從 dbcc dbreindex 的優化效能中更多地獲益。

不支援在系統表上使用 dbcc dbreindex。

結果集不管是否指定任何選項( no_infomsgs 除外),dbcc dbreindex 返回以下結果集;下例使用pubs資料庫的authors表(值可能會有變化):

index (id = 1) is being rebuilt.

index (id = 2) is being rebuilt.

dbcc execution completed. if dbcc printed error messages, contact your system administrator.

如果指定 no_infomsgs 選項,dbcc dbreindex 將返回以下結果集(訊息):

dbcc execution completed. if dbcc printed error messages, contact your system administrator.
許可權

dbcc dbreindex 許可權預設授予表所有者、sysadmin固定伺服器角色或db_ownerdb_ddladmin固定資料庫角色的成員且不可轉讓。

示例a. 重建某個索引

下例使用填充因子 80 重建pubs資料庫中authors表上的au_nmind聚集索引。

dbcc dbreindex ('pubs.dbo.authors', upkcl_auidind, 80)
b. 重建所有索引

下例使用填充因子值 70 重建authors表上的所有索引。

dbcc dbreindex (authors, '', 70)

oracle oem重建方法

手工重新配置dbconsole的步驟 1,修改dbsnmp密碼 重新配置dbconsole,需要輸入dbsnmp密碼,但任何密碼都會顯示錯誤,需要預先修改。sql alter user dbsnmp identified by 2,刪除早期dbconsole建立的使用者 sql drop role ...

Oracle重建索引

如果表更新比較頻繁,那麼在索引中刪除標示會越來越多,這時索引的查詢效率必然降低,所以我們應該定期重建索引來消除索引中這些刪除標記。一般不會選擇先刪除索引,然後再重新建立索引,而是rebuild索引。在rebuild期間,使用者還可以使用原來的索引,並且rebuild新的索引時也會利用原來的索引資訊,...

SQL索引重建

前2周出現一件怪異的事情。乙個新版本下發到生產環境之後,某個崗位的某個頁面展示異常的慢,展示達到了20秒,提交一筆頁面則達到了10秒.問題都是這樣,當你過後覺得十分十分十分的簡單,但是當時對你來說簡直是暈頭轉向,一方面是行方不斷追問,另一方面是業務人員 都要打爆的質疑。在這樣環境下你需要的是冷靜的思...