轉帖|使用教程|編輯:鮑佳佳|2021-03-09 10:49:29.300|閱讀 202 次
概述:每隔一段時間,我們就需要在Oracle中重新生成索引,因為隨著時間的推移,索引變得支離破碎。 這會導致它們的性能以及擴展的數據庫查詢性能下降。 因此,不時地重新生成索引會非常有益。在今天的博客中,我們將學習建立索引的頻率以及如何確定何時需要重新生成索引。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
每隔一段時間,我們就需要在Oracle中重新生成索引,因為隨著時間的推移,索引變得支離破碎。 這會導致它們的性能以及擴展的數據庫查詢性能下降。 因此,不時地重新生成索引會非常有益。 話雖如此,索引不應該經常重新生成,因為這是一項資源密集型任務。 更糟糕的是,當重新生成索引時,鎖將被放置在索引上,從而阻止任何人在重新生成期間訪問它。 任何嘗試訪問此索引以返回所需結果的查詢都將被暫時阻止,直到重新生成完成。
在今天的博客中,我們將學習建立索引的頻率以及如何確定何時需要重新生成索引。
重新生成搜索引擎的頻率
如引言中所述,重新生成索引既耗費資源又是阻塞任務。 這兩方面的考慮使它成為脫機活動的理想選擇,該活動可在訪問數據庫的用戶盡可能少的情況下運行。 通常,這意味著在計劃的維護時段內。
針對何時以及多長時間重新生成一次索引,制定一個全面的計劃實際上是不可行的。 這些決定在很大程度上取決于您使用的數據類型以及所使用的索引和查詢。 考慮到這一點,這里有一些有關何時重新生成索引的準則:
如果索引迅速碎片化,并且您有一個夜間維護窗口,除所有其他維護任務之外,該窗口還允許您運行“重新生成索引”任務,那么請務必繼續。
如果您無法每晚重新生成索引,則應至少每周執行一次。 如果等待時間超過一周,則由于浪費的空白空間和邏輯碎片而產生的負面影響,可能會損害SQL Server的性能。
如果沒有至少每周一次執行此任務的維護窗口,那么您需要密切注意索引的運行情況。
確定是否需要重新生成索引
在Oracle中,您可以使用ANALYZE INDEX VALIDATE STRUCTURE命令來了解索引的當前狀態。 以下是INDEX_STATS表的一些示例輸出:
SQL> ANALYZE INDEX IDX_GAM_ACCT VALIDATE STRUCTURE; Statement processed. SQL> SELECT name, height,lf_rows,lf_blks,del_lf_rows FROM INDEX_STATS; NAME HEIGHT LF_ROWS LF_BLKS DEL_LF_ROW ------------- ----------- ---------- ---------- ---------- DX_GAM_ACCT 2 1 3 6 1 row selected.
有兩個經驗法則可以幫助確定是否需要重新生成索引:
重新生成索引
在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 [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
文章轉載自: