如何调优oracle查询的性能

时间:2013-03-07 20:11:59

标签: sql oracle performance

有人可以推荐Oracle数据库查询性能调优的最佳实践吗? 是否有免费或付费的应用程序是行业标准?

3 个答案:

答案 0 :(得分:2)

行业标准将是“它取决于”。

如果您拥有数据库的企业版以及性能和调优包,Oracle提供了许多工具,例如SQL Tuning Advisor,可帮助您调整特定的SQL语句。它提供AWR(自动工作负载存储库)和ASH(活动会话历史记录)表以及各种实用程序来报告和使用这些表,以帮助您识别需要调整的语句或系统问题。它有顾问,可以帮助您调整内存配置。有许多书完全专注于Oracle提供的许多不同工具。

但是,通常情况下,还需要知识渊博的人。自动化工具可以建议查询可以从其他索引中受益。人类可以查看查询,理解基础数据,并意识到可以通过使用分析函数而不是进行大量自连接来重写查询本身以大幅提高性能。人类可以识别自动化工具可能存在问题的位置,以及解决应用程序问题(例如缺少绑定变量)更有意义的地方。

答案 1 :(得分:0)

Oracle附带了一个名为Explain Plan的工具。这给您提供了一些深入了解Oracle将如何处理给定查询。

有关解释计划的一些信息可以在ORAFAQ:Understanding Explain Plan

找到

请注意,解释解释计划需要一些数据库管理技术方面的经验。即使找到需要观察的查询也是一种艺术形式。

答案 2 :(得分:0)

有很多关于此的Oracle文档。

以下是SQL Tuning Overview

你了解Query Optimizer的作用。

阅读一些Performance Tuning

在高级别上,它首先添加索引并在不同类型的连接之间切换。 但是它背后有更多奇怪的东西。