0
我有一個擁有超過6億條記錄的大型Oracle表,我們只是對它們進行了重新分區,以便我們可以在增加日誌大小的情況下清除一些舊數據。Oracle分區性能
問題是有一些查詢,完成索引掃描,並經常運行像每秒300次。在分區查詢之前,需要大約.15秒,但是在將分區取出.50秒到1.25秒之後。有誰知道分區oracle表會降低查詢的性能嗎?如果是的話,你能給出理由嗎?似乎有一些文章,但不夠明確,讓我理解。
我有一個擁有超過6億條記錄的大型Oracle表,我們只是對它們進行了重新分區,以便我們可以在增加日誌大小的情況下清除一些舊數據。Oracle分區性能
問題是有一些查詢,完成索引掃描,並經常運行像每秒300次。在分區查詢之前,需要大約.15秒,但是在將分區取出.50秒到1.25秒之後。有誰知道分區oracle表會降低查詢的性能嗎?如果是的話,你能給出理由嗎?似乎有一些文章,但不夠明確,讓我理解。
如果索引是本地的,並且查詢不是基於分區鍵(意思是:分區修剪不可能)而是高度選擇性的,那麼工作量將與您創建的分區數成比例地增加。如果您有30個分區,則必須爲您的值搜索30個索引。每個索引較小的事實不會被較大數量的索引抵消。 (您可能想看看btree索引如何工作,以瞭解爲什麼不是這種情況)。
長話短說:如果你使用全局索引,你應該能夠避免這個問題。
很好的答案,但我認爲一個新問題引發了一個問題:文件分區丟失全局索引受到影響。 – miracle173
謝謝@fhossfel我會檢查 – Anil
是的全球指數必須重建,這可能需要一些時間。您可以指定「更新索引」子句來刪除/截斷分區 –