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