-4

我是一名数据库人员,我有一个基于 Java 的 Web 应用程序。

它运行缓慢,开发人员向我报告说,仅由于数据库,它很慢。他们要求进行查询调优。

我试图调整查询,但我无法获得太多性能。

当我尝试在浏览器中运行查询时,它工作正常,但在应用程序中它很慢。

请给我一些关于如何解决这个问题的建议。

4

1 回答 1

3

以下是我将如何处理这个问题:

  • 让开发人员选择一个运行缓慢的用例,然后让他们向您描述。他们还应该提及作为该用例的一部分运行的所有查询,包括参数。
  • 当您从 SQL 工具而不是应用程序直接针对数据库运行查询结果时,向他们显示查询结果。确保使用相同的数据库实例和相同数量的数据。
  • 如果时间相差很大,请让开发人员使用 Java 分析器(例如 YourKit 或 visualVM)来确定时间花在哪里。这应该可以很容易地看到瓶颈。
  • 当应用程序运行缓慢时,请注意上下文。是针对单个用户,还是当多个用户执行相同的用例时?
  • 大多数数据库也会写入日志文件,概述查询性能并突出显示有问题的查询。Oracle 的 AWR 文件就是一个例子,也许 MySQL 也有类似的东西。

基本上,尝试与开发人员合作,而不是反对他们。向他们解释您是如何调整查询的,并让他们向您展示他们如何尝试调整应用程序。这种方法一直对我有用。

于 2013-02-18T12:47:44.870 回答