我的程序性能有问题,我有一个java程序,它连接到MySql数据库,并在数据库上执行一些依赖于执行选择查询的过程。
现在的问题是,我的进程程序必须在mySql上执行13万个select查询,这需要很长时间。
我有10分钟的时间做所有的事情。
知道如何在10分钟内最多执行130000选择查询吗?
发布于 2015-05-17 15:33:00
知道如何在10分钟内最多执行130000选择查询吗?
这是每秒200个查询,对于简单的查询来说应该是可行的。然而,最简单的解决方案可能是用一个单独的查询替换它们,加载所有需要的数据(您已经假设它适合内存),并在Java中进行处理。
由于HashMap比任何数据库快几个数量级,任务将变得琐碎,您的机器会感到无聊。
发布于 2015-05-17 10:05:46
一种方法是使用InMemory数据库,如H2或HSQL。只有当您可以将数据预加载到内存中时,此解决方案才能工作。还需要考虑很多其他因素,如数据量、数据库中数据变化的频率等。
如果这是可能的,那么您可以直接在内存中查询,这总是更快的。
https://stackoverflow.com/questions/30285477
复制相似问题