Chinaunix首页 | 论坛 | 博客
  • 博客访问: 751610
  • 博文数量: 104
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3089
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-30 13:00
个人简介

About me:Oracle ACE,optimistic,passionate and harmonious. Focus on oracle programming,peformance tuning,db design, j2ee,Linux/AIX,web2.0 tech,etc

文章分类

全部博文(104)

文章存档

2020年(69)

2014年(3)

2013年(32)

发布时间:2020-09-30 16:32:19

1)标量子查询的计划和普通计划的执行顺序不同,标量子查询虽然在上面,但是它由下面的CUSTOMERS表结果驱动,每行驱动查询一次标量子查询。

2)标量子查询和FILTER类似,如果是它们引起的性能问题,要关注是否是执行子查询的次数过多导致查询的效率不高。

3)标量子查询和FILTER类似,它会根据输入和输出构建HASH表缓存键值对,已经查询过的键值对直接从缓存中查找,不用再次执行子查询,从而减少子查询的次数达到优化的目的,10g和11g缓存的是255个HASH BUCKETS,12C是1024个HASH BUCKETS。......【阅读全文】

阅读(204) | 评论(0) | 转发(0)

发布时间: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。......【阅读全文】

阅读(6901) | 评论(0) | 转发(0)

发布时间:2020-06-30 09:11:46

LISTAGG函数是11g R2引入用于合并字符串(列转行),可替换wmsys.wm_concat功能,而且效率更好。wm_concat函数是自定义聚集函数,而且是undocument的,从12C开始已经去掉,从11g R2开始,有字符串合并的需求,最好使用LISTAGG替代,以获得更好的性能。

但是,LISTAGG函数在11g R2中有个缺点,就是不能直接DISTINCT,在ORACLE 19C中,ORACLE给它增加了DISTINCT功能,这样可以剔除重复的字符串合并。......【阅读全文】

阅读(467) | 评论(0) | 转发(0)

发布时间:2013-05-13 22:26:08

在Oracle中,字符串的字面量如果含有单引号,那么必须转义,而且转义符是单引号',这样加上表示字符串字面量的外层'',那么势必要写很多单引号,不仅可读性降低,而且容易出错。当然,使用chr(39),也可以代替引号,可能比写多个单引号更好,可读性强,但是毕竟这种写法不是很常见。SO,在10g中,Oracle引入了q-quote的用法。......【阅读全文】

阅读(3183) | 评论(1) | 转发(1)
给主人留下些什么吧!~~

zhmw2020-05-27 16:10

tomcoding:Oracle DUL源代码,Logminer源代码,到我的博客看看

好的

回复  |  举报

zhmw2020-05-27 16:10

tomcoding:Oracle DUL源代码,Logminer源代码,到我的博客看看

好的

回复  |  举报

tomcoding2018-07-26 14:35

Oracle DUL源代码,Logminer源代码,到我的博客看看

回复  |  举报

电影vs程序员2013-08-22 18:16

博主,求加好友

回复  |  举报
留言热议
请登录后留言。

登录 注册