Ash*_*ngh 5 java oracle oracle11g
我最近参加了面试,被问到一个问题
我们有一张桌子employee(id, name)。在我们的 java 代码中,我们正在编写一个逻辑来从这个表中获取数据并将其显示在 UI 中。查询是
Select id,name from employee
查询是在调试期间,我们发现这个 jdbc 调用来触发查询并获取输出需要 20 秒,我们希望将其减少到 5 秒或最佳时间。我们怎么做,或者我将如何解决这个问题?
由于where clause查询中没有,我不建议对该列进行索引。由于此逻辑每次都需要 20 秒,因此,其他一些代码也无法锁定此表。我建议限制从表中获取的记录数量应该会有所帮助,但面试官看起来并不相信
作为开发人员,我们还能做些什么来优化调用。我猜 DBA 可能会调整数据库设置以提高此查询的性能,但还有其他方法吗
好的,这是一个面试问题,所以问题和解决方案都是假设的。面试官询问可能的优化和/或方法。以下是一些最有可能有帮助的内容:
修改查询以对数据进行分页,而不是获取全部数据。这看起来适用于示例查询。请注意,这不仅仅是“限制从表中选择的行数” ......这可能就是为什么当你这么说时面试官看起来很怀疑!
如果您确实需要显示整个选定的记录集,但以简化的形式(例如求和、平均、排序、整理等),请在查询中进行简化,而不是通过获取记录并在客户端中执行此操作。
fetchSize()按照 Ivan 的建议进行调整。
以下是一些不太可能有帮助和/或需要大量修改的其他想法。
| 归档时间: |
|
| 查看次数: |
1149 次 |
| 最近记录: |