Sql monitor的介绍和使用
SQL Monitor 是 Oracle 数据库(从 11g 开始引入并持续增强)内置的一项 实时性能诊断和监控 功能。它是 Real-Time SQL Monitoring 功能的核心组成部分。它的主要目的是提供正在执行的长时运行或资源密集型 SQL 语句的 实时、详细执行计划和运行时统计信。
一条"莫名其妙变慢"的统计SQL:从一个 Sequence 的 CACHE 说起
起因前几天接到客户反馈,说绩效核算的查询 SQL 变慢了。原来 10 分钟就能出结果,这次跑了 13 分钟还在转。按惯例先问环境,客户那边给的背景信息挺有意思:每个月 6 号 12 点开始,HIS 库会做一次 exp 全库导出。这个月因为赶上国庆,前几天没跑,今天这一轮到现在还没结束。听到这,第一反应是——是不是 exp 导出占着资源把业务查询挤了?这个怀疑先放着,但没急着下结论,毕竟"
位图索引的妙用
当业务方给你扔来一堆天马行空的“即席查询”需求时,DBA 的内心是不是总会咯噔一下?
基数反馈机制引起的执行计划错误
加了索引还是不起效的情况,有可能是一种基数反馈机制导致的,解决方法关闭基数反馈机制。如:添加hint /*+ opt_param('_optimizer_use_feedback','false')*/关闭动态采样:SQL> alter session set optimizer_dynamic_sampling=0;
外连接嵌套循环为何无法更改驱动表
相信各位大佬在做SQL优化的时候,发现一条走外连接的SQL语句表连接方式是嵌套循环,并发现有时将从表作为驱动表执行效率可能会更高,于是兴致勃勃地使用leading(xx)的hint,发现驱动表并无变化。那么这是为什么呢,今天就展开讲讲。 要
为什么说优化永不过时?
前几天,客户反应,在备库俩节点执行同一条SQL的效率差别很大,一节点1秒内完成,二节点需要接近三秒。这个SQL是他们探测数据库性能的监控语句,接近三秒返回结果很显然是没达标的。 ------------- SQL Text ------