自动的SQL优化指导:
SQL的执行计划是这个语句第一次执行的时候产生,执行计划会保存在库缓冲的共享sql区,并且在关闭或者条件满足时会写入数据文件中记录下来。
但是,当时这个执行计划在创建的时候是针对数据库当时的数据集的特点。
过一段时间后,随着用户的增删改,数据集特点发生了很大的改变,以前的执行计划不一定适应当前的数据集,实现最高效的执行结果。
当一个语句不适合当前的数据集的特征,就会变成顶级sql,sql优化指导每天会优先检查顶级的执行计划,一旦发现语句执行慢了,会根据每天的数据集的特征自动更新执行计划。实现了系统自动的sql优化。
自动的段指导:
用来进行段收缩的,用户增删改后,段会有大量蜂窝状的空间。当原来的块放不下新修改过的块,在原来的块加偏移量产生行迁移,放置在相邻的有空间的块中。
下次再访问数据时,就要读两个块的信息。如果表中有大量行迁移的情况,在进行全表扫描时,读的块的数量是加倍的。这个会非常影响性能。
所以一旦出现行迁移的情况,自动的段指导会在内部通过Delight instead将行压缩在一起,高水位线下移,回收浪费过的块,放在连续的块中。
所以自动的段指导,每天优先对产生阈值预警、活动量大的段进行收缩,提高全表扫描的效率优化存储空间。