在 Oracle 10g 中,我有一个 SQL,它今天执行得相当快(大约 30-40 分钟)。两天前执行相同的 SQL 时,大约需要 2.5 小时才能完成 SQL。我认为查询的执行计划可能已经改变。但事实并非如此。两个执行计划匹配。因此,在 DBA 的帮助下,我得到了生成的 AWR 报告,以查找该期间的数据库活动。果然,这个长期运行的查询与其他几个查询一起出现。在 AWR 中,此查询以大量缓冲区获取、磁盘读取列表为特征,但至少有四个其他查询甚至更高(它们总共占 98%)。事实上,两个列表中排名靠前的查询是大约 50% 的缓冲区获取和 80% 的磁盘读取,而我的分别只占 2% 和 0.9%。
所以我的问题 - 其他查询的大量缓冲区获取和磁盘读取是否会影响我的查询性能?