翻譯|使用教程|編輯:莫成敏|2020-01-16 10:20:38.770|閱讀 368 次
概述:在今天的文章中,我們將學習建立索引的頻率以及如何確定何時需要重建索引。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Navicat for Oracle通過簡化的工作環境提高了Oracle開發人員和管理員的效率和生產力。優化您的Oracle開發-快速,安全地創建,組織,訪問和共享信息。Navicat for Oracle與Amazon RDS和Oracle Cloud等云數據庫兼容,并支持本地/遠程Oracle服務器。
每隔一段時間,我們就需要在Oracle中重建索引,因為隨著時間的推移,索引變得支離破碎。這會導致數據庫查詢的性能下降,進而導致數據庫查詢的性能下降。因此,不時地重建索引會非常有益。話雖如此,索引不應該經常重建,因為這是一項資源密集型任務。更糟糕的是,當重建索引時,將在索引上放置鎖,從而阻止任何人在重建期間訪問它。嘗試訪問該索引以返回所需結果的所有查詢都將被暫時阻止,直到重建完成。
在今天的文章中,我們將學習建立索引的頻率以及如何確定何時需要重建索引。
重建索引的頻率
如引言中所述,重建索引既耗費資源又是阻塞任務。這兩方面的考慮使它成為脫機活動的理想選擇,該活動可以在訪問數據庫的用戶盡可能少的情況下運行。通常,這意味著在計劃的維護時段內。
制定關于何時以及多長時間重建索引的全面計劃實際上是不可行的。這些決定在很大程度上取決于您使用的數據類型以及所使用的索引和查詢。考慮到這一點,這里有一些有關何時重建索引的準則:
如果索引迅速碎片化,并且您有一個夜間維護窗口,除所有其他維護任務之外,該窗口還允許您運行“重建索引”任務,那么請務必繼續。
如果您不能每晚重建索引,則應至少每周執行一次。如果等待時間超過一周,則由于浪費的空白空間和邏輯碎片而產生的負面影響,可能會損害SQL Server的性能。
如果沒有維護窗口至少每周一次執行此任務,那么您需要密切注意索引的運行情況。
確定是否需要重建索引
在Oracle中,您可以使用ANALYZE INDEX VALIDATE STRUCTURE命令來了解索引的當前狀態。以下是INDEX_STATS表的一些示例輸出:
有兩個經驗法則可以幫助確定是否需要重建索引:
如果索引的高度大于四,則重建索引。
刪除的葉行應少于20%。
重建索引
在Oracle中,您可以使用Alter Index Rebuild命令來重建索引。它重建空間索引或分區索引的指定分區。
ALTER INDEX REBUILD命令具有以下幾種形式:
或
或
處理無法使用的索引
Navicat for Oracle的維護索引工具提供了兩個有用的選項來處理無法使用的索引:
重新創建現有索引或其分區或子分區之一。如果索引標記為不可用,則重建成功將標記為可用。
使索引不可用。在使用無法使用的索引之前,必須對其進行重建、刪除或重新創建。
結論
在今天的文章中,我們了解了建立索引的頻率以及如何確定何時需要重建索引。您可以下載Navicat for Oracle試用版免費評估~
相關內容推薦:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: