2010-01-15 101 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()。