Oracle DataGuard 日志传输压缩技术

工作中,Dataguard主库、备库在不同机房用于容灾是常见的架构。但是,网络带宽不够,主库的redo传输到备库不及时,此时就会发生备库延迟。 这种情况下,当主库故障无法访问,备库落后于难以起到完全的灾备作用。 如何判断网络带宽是否够用? 首先,要知道redo每秒产生量,然后和带宽进行比较。长时间redo每秒产生量大于网络带宽,很明显网络带宽不够用了。 如何在不增加支持成本解决这个问题? 在CPU

Read more

SQL优化一例:懂得去除累赘,还你一身轻松

在生产库发现了一条奇葩SQL,下面进行分析。

问题1:count()统计行数的时候,排序操作是多余的。 问题2:left join连接中,以左表为主表,和右表通过关联条件连接,A表满足条件的数据都会被返回,而B表中没有的数据则以NULL表示。上面的SQL中T表left join P表,但是SQL中P表并没有任何过滤条件,所有过滤都是

Read more

SQL 同时查询最大值、最小值的优化方法

在实际工作中,我们经常需要将表中的最大值和最小值同时查询出来,用于分析。 类似于这样的SQL,select min(object_id),max(object_id) from  borpt.t1; 但是,表很大的时候,用最容易想到的方式效率很低,那么有没有更高效的方式呢?下面展开讲解。 初始化测试环境

查询最大值时的执行计划,走的

Read more