寻找有关如何开始进行 Oracle 调优的建议,我以前从未这样做过。
我想知道如何对查询进行性能调整。我们为客户构建应用程序,所以我这里没有生产数据库。我基本上知道我们的哪些查询很重要,并希望确保它们能够快速运行。
在 MSSQL 中,它非常简单,当您启用执行计划时,它会显示有助于查询的附加索引。Oracle中有类似的东西吗?或者也许是另一种方法?
性能调优是一个大课题。人们采用两种基本的方法:科学或猜测。
A. 猜测(也称为霰弹枪法)
*
B. 科学
(*
如果没有更多要创建的索引,请寻找其他要更改的内容 - 任何内容。例如更改一些会话或系统设置,重建表等)
(***
如果不是很明显,我不提倡方法A)
我建议的第一件事是,如果您不打算对 prod 数据库进行调整,则应该将表静态数据从 prod db 导入到您的 Dev 数据库中。这将使您的 Dev 系统的行为与 prod 具有相似的数据。如果你谷歌导入统计数据,你会发现大量文章。下一阶段将查看您可以添加索引的查询,通常您认为全表扫描是一个不错的地方。
你使用绑定变量吗?
Oracle 做了很多缓存数据,所以看看你可以在哪里使用绑定变量,这将在服务器进程的私有空间中进行过滤,并避免数据库进行物理读取,从而快速返回数据。
希望这可以帮助。