mysql subquery cache vs oracle subquery cache子查询缓存-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 1156167
  • 博文数量: 166
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3760
  • 用 户 组: 普通用户
  • 注册时间: 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

文章分类

全部博文(166)

文章存档

2024年(21)

2023年(28)

2022年(43)

2020年(62)

2014年(3)

2013年(9)

发布时间:2024-05-23 16:29:04

oracle对无法unnest的子查询、标量子查询、update关联子查询是有缓存结果优化的,一般最大缓存数目在1024个key左右,
如果outer table关联key的基数(distinct数目)很小,则可以大幅度减少子查询执行次数,具体也要看数据物理分布连续性是否强,
连续性强,减少的子查询次数越少,如果很离散存储,则子查询次数会增多。......【阅读全文】

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

发布时间:2024-05-23 16:11:26

在mysql里执行计划对子查询no unnest subquery的有:subquery、dependent subquery、uncacheable subquery。
文档上说dependent subquery和uncacheable subquery不同,dependent subquery对于外部的每个不同的关联key
执行一次子查询,uncacheable subquery意思是没有缓存,也就是外部的每行执行一次子查询。

文档10.8.2 explain output format:
dependent subquery evaluation differs from uncacheable subquery evaluation.
for dependent subquery, the subquery is re-evaluated only once for each set of different values of the variables from its outer context.
for uncachea......【阅读全文】

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

发布时间:2024-05-23 15:49:04

在mysql里执行计划对子查询no unnest subquery的有:subquery、dependent subquery、uncacheable subquery。
文档上说dependent subquery和uncacheable subquery不同,dependent subquery对于外部的每个不同的关联key
执行一次子查询,uncacheable subquery意思是没有缓存,也就是外部的每行执行一次子查询。

文档10.8.2 explain output format:
dependent subquery evaluation differs from uncacheable subquery evaluation.
for dependent subquery, the subquery is re-evaluated only once for each set of different values of the variables from its outer context.
for uncachea......【阅读全文】

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

发布时间:2024-05-21 09:17:12

对于分组查找min/max,在mysql里有index loose scan扫描,针对每个分组值,查找索引的leftmost或righmost行,
这样只需要扫描索引区间的端点值即可,实现快速索引扫描(这里指的是min/max查找,非index fast full scan)。......【阅读全文】

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

发布时间:2024-05-17 16:28:49

本文主要研究默认选择率,为什么要有默认选择率,因为没有存储计算对应条件选择率需要的数据,所以只能用默认的。

在oracle里,如果sql里的表无法获得需要的信息来计算选择率,可能就会使用默认选择率,常发生在以下几种情况下:
1)表有统计信息,列未收集统计信息,无法使用动态采样
2)表有统计信息,但是使用绑定变量,绑定变量无peeking
3) 表有统计信息,但是对列使用了函数等复杂条件,无法准确估算对应条件的选择率

针对第一种情况,就是更新统计信息,补全没有收集或不准的统计信息。
针对第二种情况,为了避免修改_optim_peek_user_binds参数造成的全局影响,可以针对单个sql开启_optim_peek_user_binds,
使用sql profile绑定。
针对第三种情况,因为复杂条件无法计算准确选择率,利用使用扩展列统计信息、高级别动态采样、cardinality/opt_esimate hints、
sql profile等绑定执行计划。......【阅读全文】

阅读(24) | 评论(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

博主,求加好友

  |  
留言热议
请登录后留言。
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图