About me:Oracle ACE pro,optimistic,passionate and harmonious. Focus on ORACLE,MySQL and other database programming,peformance tuning,db design, j2ee,Linux/AIX,Architecture tech,etc
全部博文(169)
发布时间:2024-04-24 20:48:24
从12c开始,oracle对批量加载的表可以在线收集统计信息,解决了因统计信息不准导致不能走最佳执行计划的问题。当然,在线统计信息收集也有一些限制和问题,后面会详细说明。......【阅读全文】
发布时间:2023-05-06 14:23:43
从Oracle 18.1数据库开始,自适应序列 (Scalable Sequences) 被引入。
?
为了改善以序列值作为键值的表的数据加载性能,自适应序列的特性被加入。这个特性为序列提供了添加 instance 和 session 偏移量的选项,当跨 RAC节 点加载数据或者单实例多个进程并发加载数据时,可以显著减少序列争用和索引块争用的可能性。......【阅读全文】
发布时间:2023-04-25 09:10:15
升级到Oracle 12c,有时会看到MMON_SLAVE模块的CPU使用率很高。这些模块与12cR1新特性Automatic Report Capturing(自动报告捕获功能)有关。......【阅读全文】
发布时间:2020-09-30 16:32:19
1)标量子查询的计划和普通计划的执行顺序不同,标量子查询虽然在上面,但是它由下面的CUSTOMERS表结果驱动,每行驱动查询一次标量子查询。
2)标量子查询和FILTER类似,如果是它们引起的性能问题,要关注是否是执行子查询的次数过多导致查询的效率不高。
3)标量子查询和FILTER类似,它会根据输入和输出构建HASH表缓存键值对,已经查询过的键值对直接从缓存中查找,不用再次执行子查询,从而减少子查询的次数达到优化的目的,10g和11g缓存的是255个HASH BUCKETS,12C是1024个HASH BUCKETS。......【阅读全文】
发布时间:2020-08-31 16:00:09
直方图与绑定变量问题是困扰SQL性能优化的一个典型问题:一方面绑定变量是为了让执行计划共享,从而减少或避免解析,但是如果一个列分布不均,传入不同的值最佳执行计划应该不一样,比如当status=’INVALID’的时候最佳执行计划是走索引,当status=’VALID’时候最佳执行计划是要求全表扫描,遇到这种情况,必须要再次窥视传入的绑定变量值,才能走正确执行计划,因此,11G引入了Adaptive Cursor Sharing(ACS)来解决这个问题,但是因为BUG多,一般情况下生产库是建议关闭的。那么还能不能解决这个问题呢?在11.2及之后答案是肯定的。在11.2的时候,我们使用SQL PATCH来解决,这个类似SQL PROFILE。......【阅读全文】