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

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

文章分类

全部博文(180)

文章存档

2025年(8)

2024年(27)

2023年(28)

2022年(43)

2020年(62)

2014年(3)

2013年(9)

发布时间:2025-02-20 08:40:55

having普通列(非聚合条件)提升到where里,在分组之前过滤,如果having的普通列可以走索引效率好,这种提升有好处
测试下来,只有pg支持,MySQL文档说支持,但是测试部支持,oracle不支持
能放到where里的条件不要放到having里,是编写SQL的准则之一......【阅读全文】

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

发布时间:2025-03-17 08:57:19

rows examined实际上是server层检查的行数,没有统计storage engine层内部处理的行数。这样很多看似是有问题的,就很好理解了,
但是,很多人把rows examined当成SQL性能的一种重要指标,认为这个是SQL扫描的行数,这就有问题了,实际上rows examined有时候
并不能准确反应storage engines扫描的行数。
......【阅读全文】

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

发布时间:2025-03-16 18:26:51

在MySQL里,如果order by + limit,where或join条件还有可选索引,有可能走错索引,默认的是偏向于走order by 列索引。......【阅读全文】

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

发布时间:2025-03-16 18:12:46

oracle,pg,mysql范围越界的选择率估算:
通过以下方式,防止突然变成1,导致笛卡尔积,当然,越界问题容易变成走索引(如果实际查的数据量大,则需要更新统计信息),另外越界的话还是可能估算
成1的,一般都是估算的很少行。......【阅读全文】

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

发布时间:2025-03-16 18:08:13

oracle读取数据分为物理读、逻辑读,其中大多数时候主要是逻辑读,因为热点数据存在buffer cache里。而物理读,除了direct path read,
也会产生逻辑读,所以逻辑读往往成为衡量SQL性能的重要指标。
逻辑读包括了consistent read(cr读)和db block gets(current reads),其中一致性读是遇到读取的块有DML的,需要从undo里进行一致性块重构,
所以如果select读取的block被修改未提交,读取的时候cr读会增加,这也是会影响性能的,而DML呢,查找时候会进行cr读,更新时候会进行
current reads。

另外注意:
1)如果select返回行很多,fetch size也会影响consistent reads,可能一个块被读取多次,因为每次fetch就要从buffer cache里获取数据。
2)逻辑读指标只会显示SGA里的操作,PGA里的比如hash join的IO操作,不会显示在逻辑读里,所以,逻辑读小的,如果是hash join之类的,不一定性能
就比逻......【阅读全文】

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

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

博主,求加好友

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

登录 注册