java – 使用Spring的JDBC慢速元数据获取Oracle

我使用Spring JdbcUtils.extractDatabaseMetaData()方法来分析数据库.该函数调用回调并移交DatabaseMetaData对象.此对象提供getColumns(String catalog,String schemaPattern,String tableNamePattern,String columnNamePattern).

我把它称为getColumns(“”,TABLE_OWNER_USERNAME,null,null),结果得到400列.这些正是我想要的结果,但请求需要1分钟.

我可以以某种方式优化此查询以快速?拉动400行应该在1秒而不是1分钟内完成.

编辑:我不怀疑Spring部分很慢.更仔细的分析表明,获取DatabaseMetaData需要几秒钟的时间,执行getColumns()需要很长时间.

最佳答案
也许这是查询ALL_TAB_COLUMNS的更好方法.这是一个例子:

public final List

如果您需要按表格过滤,只需添加“AND TABLE_NAME =?”将sql和tableName作为另一个参数.

希望能帮助到你.

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...