2010-01-15 102 views
3

我們最近升級到了10g,並且我注意到元數據查詢似乎要花很長時間(猜測比9i慢2-5倍)。有沒有其他人注意到這一點?關於如何糾正這個問題的任何建議(設置/補丁/咒語)?Oracle 10g--緩慢的元數據查詢

謝謝。

回答

2

如果您有權訪問Oracle Metalink(MyOracleSupport,或者他們今天調用的任何內容),請查找錯誤#2475998,使用通過SETINCLUDESYNONYMS方法使用同義詞的DRAMATIC DROP。當存在同義詞時,提交者報告DatabaseMetadata.getColumns()的性能降低了60倍。 Oracle建議以其他方式獲取元數據,例如執行一個虛擬查詢並獲取ResultSetMetaData。

另請參閱Jack Shirazi的Java Performance Tuning,其中有關於performance of obtaining database元數據的部分。 (鏈接到谷歌圖書摘錄)

底線是,不要使用DatabaseMetadata.getColumns()。