我很想知道是否有性能上的好處,即對通常是查詢目標的數字列進行分區。目前我有一個包含5000萬條記錄的物化視圖。當使用常規b-tree索引並通過這個數字列進行搜索時,我花費了大約7秒的時間和大約0.8秒的時間查詢結果(使用非引導緩存)。在爲該列添加全局散列分區(包含64個分區)之後,我的成本爲6,查詢結果約爲0.2秒(再次使用非引導緩存)。全局分區索引是否比非分區索引更好(更快)?
我的第一反應是分區索引提高了我的查詢性能。但是,我意識到這可能只是一個巧合,可能完全依賴於正在搜索的值或其他我不知道的值。所以我的問題是:將全局哈希分區添加到大型數據表中的數值列是否會帶來性能優勢,或者是確定要掃描哪些索引分區的成本 - 只需在全局範圍內掃描非索引分區?
我敢肯定,像許多Oracle問題一樣,可以用「依賴」來回答。 :)我有興趣瞭解我應該考慮哪些因素來確定每種方法的優點。
謝謝!