我主要是一个使用Hibernate的
Java开发人员,在我的一些用例中,我的查询执行速度与我的预期相比非常缓慢.我已经与当地的DBA进行了交谈,在很多情况下,由于查询的性质,他们声称性能无法提高.
但是,我有点犹豫要不要听从他们的话.当我不得不吮吸它并找到一种不同的方式来获取我想要的信息或学习以速度生活,以及何时可以在DBA上调用废话时,我可以使用哪些资源来学习.
解决方法
你处在一个有趣的关头.大多数Java开发人员使用ORM工具是因为他们对数据库一无所知,他们不想学习任何有关数据库的知识,特别是他们不想学习任何有关特定专有DBMS特性的知识. ORM表面上保护我们免受这一切.
但是,如果您真的想了解查询应该如何执行,那么您将不得不了解Oracle数据库的工作原理.这是一件好事:如果您使用数据库,您肯定会构建更好的Hibernate应用程序.
Oracle的文档集包括一个关于性能调优的卷.这是开始的地方. Find out more.正如其他人所说,入门级工具是EXPLAIN PLAN.另一个重要的读物是Oracle的Database Concepts Guide.调优的一个重要方面是理解数据库的逻辑和物理架构.我也同意DCooke对Tom Kyte的书的推荐.
请记住,有一些承包商和顾问可以通过Oracle性能调优来实现良好的生活.如果这很容易,他们就会变得更穷.但是你当然可以给自己足够的知识来迫使那些讨厌的DBA与你进行适当的交流.