我有一个非常简短的Java应用程序,只需打开与远程MySQL数据库的连接,读取一些数据,打印并退出。应用程序中最耗时的部分是数据库连接。
目前我只有一个线程,我唯一关心的是节省打开连接的时间。
我想到了几种让它更快的方法,但事实证明它们并没有帮助:
还有其他选择吗?
答案 0 :(得分:1)
通常,与DB的连接是最耗时的操作。如果要启动和停止应用程序,那么您几乎无法做到。
在Web服务器中使用连接池并通过运行使用JSON与Web服务器通信的应用程序来调用它可能是一种选择。
答案 1 :(得分:1)
你说你有一个非常短的应用程序,所以如果你将数据库逻辑放入你的第三个选项可能会工作"选项3 TCP / IP服务器"然后将结果转发给您的连接客户端。这是典型的应用程序服务器模式。
答案 2 :(得分:1)
Marc B在评论中提到的关于网络查找的另一件事https://stackoverflow.com/q/3641155/1055715。
答案 3 :(得分:0)
事实证明,最好的解决方案是使用mysql-proxy和一个处理连接池的脚本(前两个选项的组合)。我在这里找到了一个这样的脚本 http://forge.mysql.com/tools/tool.php?id=151
它可能是为旧版本的mysql-proxy编写的,所以我不得不修复它(如果有人需要修复版本 - 写信给我)。
它就像一个魅力 - 我运行与以前完全相同的应用程序,唯一的变化是在连接字符串中:而不是连接到“qa-srv:3308”(远程服务器)我连接到“127.0.0.1 :4040“(代理服务器)。