2011-04-23 67 views
0

如果我在Java应用程序中有一个用于将数据插入到RDBMS的方法,则该方法一旦将查询传递给数据库就会向前移动。即,在RDBMS处理查询之前,Java应用程序是否会完成方法(连接,运行查询,关闭连接)。我想运行一些测试,但不确定应用程序是否会在RDBMS之前完成,因此很难了解数据库如何快速处理数据?Java RDBMS性能

我想我可以用drop table close连接完成每个测试,以确保应用程序不得不等待RDBMS赶上。

此外,将使用Eclipse IDE在不同的操作系统上测试RDBMS会严重影响O.S的性能,因此它正在运行。 (Windows7 Solaris Ubuntu)

感谢任何试图回答的人。

回答

2

使用IDE不会影响性能 - 它只是一个启动的常规JVM。至于另一个问题 - 除非你正在使用一些异步驱动程序(我不知道是否存在这样的驱动程序),或者为每个操作启动新线程,它们是同步的 - 即程序等待数据库返回结果(或超时,应该可配置)

+0

感谢您的理解,所以完成此过程需要的时间可能反映了RDBMS处理查询的时间。再次感谢! – 2011-04-23 20:54:01

+0

是的。因此,您可以尝试通过运行多个线程来并行执行,但这可能会非常棘手。 – Bozho 2011-04-23 20:54:58

+0

如果数据库在单独的机器上运行,请不要忘记考虑任何网络延迟 - 特别是如果机器是真正的远程机器。 – Marvo 2011-04-23 20:58:37

1

通常,所有这些调用都是同步的;他们阻止,直到操作完成。除非你做的事情完全不同。

您可能希望查看连接池,以便您可以重新使用连接以避免创建/销毁成本很高。