SpringJdbcUtils.extractDatabaseMetaData()
メソッドを使用してデータベースを分析しています。この関数はコールバックを呼び出し、オブジェクトを渡しDatabaseMetaData
ます。このオブジェクトはを提供しgetColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
ます。
私はそれをこのように呼びgetColumns("",TABLE_OWNER_USERNAME,null,null)
、結果として400列を取得します。これらはまさに私が望む結果ですが、リクエストには1分以上かかります。
どういうわけかこのクエリを高速に最適化できますか?400行のプルは、1分ではなく1秒で発生するはずです。
編集:私は春の部分が遅いとは思わない。綿密な分析によると、取得にDatabaseMetaData
は数秒かかりますが、実行にgetColumns()
は非常に長い時間がかかります。