翻譯|使用教程|編輯:吳園園|2020-03-27 11:26:15.517|閱讀 373 次
概述:在下面的文章中,我們將學習建立索引的頻率以及如何確定何時需要重建索引。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Navicat for Oracle是一套超強的Oracle數據庫系統管理工具。它可以在Oracle數據庫8i以上的版本中運行,并且支持大部份最新的Oracle功能,包括目錄、數據表空間、同義詞、物化檢索、觸發器、序列及類型等。Navicat的的功能不僅可以滿足專業開發人員的所有需求,而且對Oracle的新手來說也相當容易學習。
每隔一段時間,我們就需要在Oracle中重建索引,因為隨著時間的推移,索引變得支離破碎。這會導致其性能(以及擴展)導致數據庫查詢的性能下降。因此,不時地重建索引會非常有益。話雖如此,索引不應該經常重建,因為這是一項資源密集型任務。更糟糕的是,當重建索引時,鎖將被放置在索引上,從而阻止任何人在重建期間訪問它。任何嘗試訪問此索引以返回所需結果的查詢都將被暫時阻止,直到重建完成。
在今天的文章中,我們將學習建立索引的頻率以及如何確定何時需要重建索引。
重建索引的頻率
如引言中所述,重建索引既耗費資源又是阻塞任務。這兩方面的考慮使它成為脫機活動的理想選擇,當要訪問盡可能少的用戶訪問數據庫時就可以運行它。通常,這意味著在計劃的維護時段內。
制定關于何時以及多長時間重建索引的全面計劃實際上是不可行的。這些決定在很大程度上取決于您使用的數據類型以及所使用的索引和查詢。考慮到這一點,這里有一些有關何時重建索引的準則:
如果索引迅速碎片化,并且您有一個夜間維護窗口,除所有其他維護任務外,它還允許您運行“重建索引”任務,那么請務必繼續。
如果您無法每晚重建索引,則應至少每周執行一次。如果等待時間超過一周,則由于浪費的空白空間和邏輯碎片而帶來的負面影響,就有可能損害SQL Server的性能。
如果沒有維護窗口至少每周一次執行此任務,那么您需要密切注意索引的運行情況。
確定是否需要重建索引
在Oracle中,您可以使用ANALYZE INDEX VALIDATE STRUCTURE命令來了解索引的當前狀態。
有兩個經驗法則可以幫助確定是否需要重建索引:
在Oracle中,您可以使用Alter Index Rebuild命令來重建索引。它重建空間索引或分區索引的指定分區。
ALTER INDEX REBUILD命令具有以下幾種形式:
ALTER INDEX [schema.]index REBUILD [PARAMETERS ('rebuild_params [physical_storage_params]' ) ] [{ NOPARALLEL | PARALLEL [ integer ] }] ;或者:
ALTER INDEX [schema.]index REBUILD ONLINE [PARAMETERS ('rebuild_params [physical_storage_params]' ) ] [{ NOPARALLEL | PARALLEL [ integer ] }] ;或者:
ALTER INDEX [schema.]index REBUILD PARTITION partition [PARAMETERS ('rebuild_params [physical_storage_params]' ) ];
處理無法使用的索引
Navicat for Oracle的維護索引工具提供了兩個有用的選項來處理無法使用的索引:
重新創建現有索引或其分區或子分區之一。如果索引標記為不可用,則重建成功將標記為可用。
使索引不可用。在使用無法使用的索引之前,必須對其進行重建,刪除或重新創建。
在今天的博客中,我們了解了建立索引的頻率以及如何確定何時需要重建索引。
如果您想購買Navicat for Oracle的正版授權,歡迎。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: