通过java执行SQL时运行速度慢

通过java执行SQL时运行速度慢

问题描述:

我想在oracle数据库中执行查询。 当我尝试运行通过SQLTools查询执行2秒 当我通过JAVA运行相同的查询它在一分多钟执行。通过java执行SQL时运行速度慢

我使用提示/*+ordered use_nl (a, b)*/

我使用ojdbc6.jar是因为任何广口瓶? 请帮助什么造成这种情况?

+1

一个简单的例子可能会有用。另外,你是只测量查询的时间还是某种类型的JVM启动时间? – 2010-06-18 08:16:17

+0

我正在测量查询的时间 – user270885 2010-06-18 09:16:07

+1

提示无关紧要,除非您发布查询,并且可能为查询的无提示和暗示版本的解释计划。 – 2010-06-18 10:01:33

对于Oracle 9i或更高版本,数据库引擎可以自动调优SQL,少数情况下需要指定提示。

如何在Java中运行查询,重复在循环中运行?使用参数?在执行前准备好?

+0

我正在运行通过preparedstatement – user270885 2010-06-18 09:14:14

+0

你测量一分钟的时间在哪个语句? 1. preparestatement() 2.执行() 3.而(resultSet.next()) 4. //做某事 成本,其中步骤1分钟? – 2010-06-18 16:09:03

您需要对您的Java应用程序进行概要分析,以确定SQL执行之前或之后Java代码中的开销时间花费的时间。

您可以使用的一些性能分析工具是:YourKit,JProfilerHPROF(这是一个命令行工具)。

+0

为什么我的答案被降低了?您确实需要运行一个分析器来了解为什么需要一分钟通过Java应用程序运行SQL。我怀疑它是否在Oracle中花了一分钟,因为它只需要SQL Tools 2秒钟。 – 2010-06-18 08:36:52