实现多线程应用程序以加快JDBC的查询时间?

时间:2017-06-15 23:12:32

标签: java multithreading oracle performance jdbc

我工作的实例化应用程序需要加速。我希望通过使用Multithread分割工作来改善时间,但是应用程序非常依赖于Oracle数据库,并且旨在进行多次查询以获取它所需的信息,然后执行更新语句以对每个用户进行实例化。

问题是,多线程解决方案会使它更快吗?如果是这样,我该如何实施呢?你能指点我一些资源来阅读这个主题吗?如果没有,那么我怎样才能让应用更快?

1 个答案:

答案 0 :(得分:0)

对于您的发票应用程序,有许多不同的方法可以让它运行得更快。例如:

  • 使用数据库连接池(例如HikariCP)并使用多个线程向数据库发送查询

  • 将数据库配置为使用主/从复制,这样您就可以向从服务器发送一些查询(以加快数据库的响应)

  • 确保您的表具有正确的索引,并确保每个查询确实使用这些索引(使用一些SQL查询分析器工具)

  • 为报告创建特定的视图/表(对这些视图/表的查询应该比在多个表上进行查询要快得多)

  • 使用内存数据库(如Redis)存储一些结果(如果您在多个报告中使用相同的信息)

  • 在单独的计算机(或虚拟机)中运行您的发票应用程序,以确保同一台计算机中的其他进程不是您遇到延迟的原因。