楼主: Kevin__Zhang

[精华] latch入门?(最新更新part4:这才是真正的latch)---你所不知道的latch

[复制链接]
论坛徽章:
6
ITPUB季度 技术新星
日期:2011-08-31 15:27:58ITPUB十周年纪念徽章
日期:2011-11-01 16:26:292012新春纪念徽章
日期:2012-01-04 11:57:36咸鸭蛋
日期:2012-03-05 13:10:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00优秀写手
日期:2013-12-18 09:29:09
31#
 楼主| 发表于 2011-5-5 10:21 | 只看该作者

回复 #30 ice_bean 的帖子

INSERT属于DML,与a结果一样:
a.表上无索引,DML操作。
实验结果:大量cbc latch争用,大量buffer busy waits竞争。

使用道具 举报

回复
论坛徽章:
11
2010新春纪念徽章
日期:2010-03-01 11:08:27SQL大赛参与纪念
日期:2011-04-13 12:08:172010广州亚运会纪念徽章:空手道
日期:2011-03-08 15:29:592011新春纪念徽章
日期:2011-02-18 11:43:362010广州亚运会纪念徽章:台球
日期:2011-01-26 10:41:28数据库板块每日发贴之星
日期:2010-12-10 01:01:022010广州亚运会纪念徽章:网球
日期:2010-12-09 13:11:342010广州亚运会纪念徽章:篮球
日期:2010-12-06 14:28:04辩论纪念章
日期:2010-11-15 10:46:13ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52
32#
发表于 2011-5-5 10:24 | 只看该作者
不错楼主继续,现在原创研究的帖子越来越少了...见到一个不容易

使用道具 举报

回复
论坛徽章:
3742
生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41生肖徽章2007版:羊
日期:2013-02-08 10:53:41
33#
发表于 2011-5-5 10:59 | 只看该作者
帮顶

使用道具 举报

回复
论坛徽章:
5
生肖徽章2007版:牛
日期:2009-12-03 13:37:50ITPUB9周年纪念徽章
日期:2010-10-08 09:34:02ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262012新春纪念徽章
日期:2012-01-04 11:53:292013年新春福章
日期:2013-02-25 14:51:24
34#
发表于 2011-5-5 12:20 | 只看该作者

回复 #31 Kevin__Zhang 的帖子

call楼主。
做了一轮测试,确实不难模拟出cache buffers chains (脚本随后附上)
10.2.0.3 RAC
b.表上无索引,SELECT操作。
latch: cache buffers chains
latch: cache buffers chains
latch: cache buffers chains
latch: cache buffers chains

d.表上有唯一索引,SELECT操作。
cursor: pin S
cursor: pin S
cursor: pin S
cursor: pin S

11.2.0.2 RAC
相同的脚本,
无论b,d场景都没有出现latch争用。

问:
1. 你的第二次讲解中提到11G引入了Mutex
从我实验的结果看10g中d的场景应该就是Mutex争用
印象中11g new feature中确实讲到过Mutex,但是文档[ID 1298015.1]中确提到该机制从10gR2中就有了。
2. 为什么10G和11G出现不同的结果?难道机制又有新的改进!
3. 接31楼疑问。目前还没有模拟出INSERT产生latch的情况。
不过我的疑问是为什么索引会对这个有影响。按理说有没有索引都得维护你讲到的链表吧?

[ 本帖最后由 ice_bean 于 2011-5-5 12:27 编辑 ]

latch_simulate.sql

544 Bytes, 下载次数: 313600

使用道具 举报

回复
论坛徽章:
6
ITPUB季度 技术新星
日期:2011-08-31 15:27:58ITPUB十周年纪念徽章
日期:2011-11-01 16:26:292012新春纪念徽章
日期:2012-01-04 11:57:36咸鸭蛋
日期:2012-03-05 13:10:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00优秀写手
日期:2013-12-18 09:29:09
35#
 楼主| 发表于 2011-5-5 13:07 | 只看该作者

回复 #34 ice_bean 的帖子

>>cursor: pin S
这个确实是mutex竞争,只不过是library cache中的,与解析有关,跟cbc latch没关系。
建议你这个实验用单实例做,很清楚。

>>2.为什么10G和11G出现不同的结果?难道机制又有新的改进!
latch从9i开始就有了非常大的变化,已经不是很多人现在还认为的那种自旋--没有获得---睡眠----自旋----睡眠
这种模式了。从9以后,一直到11g。基本上变化不大。

>>3. 接31楼疑问。目前还没有模拟出INSERT产生latch的情况。
>>不过我的疑问是为什么索引会对这个有影响。按理说有没有索引都得维护你讲到的链表吧?
你再自己看看文章。insert跟cbc latch本来就没有直接关系。
至于为什么索引会对这个有影响。我文章也说过了:
当一个操作,走的是唯一索引的话,那么oracle默认目标block是存在于目标链上的,这时,oracle会以shared的模式去获取
cbc latch。如果之后oracle发现弄错了,这个目标块不存在于链上。那么这时,oracle再会尝试以exclsive模式去获得
cbc latch,以将block挂往链上。
但是,如果是全表扫描,oracle会默认的认为目标block肯定是不存在于目标链上的,oracle会直接以exclsive模式去获得cbc latch。
cbc latch在乎的事挂链下链,在乎的是目标block在不在链上。

[ 本帖最后由 Kevin__Zhang 于 2011-5-5 13:16 编辑 ]

使用道具 举报

回复
论坛徽章:
5
2010新春纪念徽章
日期:2010-03-01 11:21:01ITPUB9周年纪念徽章
日期:2010-10-08 09:31:22优秀写手
日期:2014-07-01 06:00:12懒羊羊
日期:2015-03-04 14:52:112015年新春福章
日期:2015-03-06 11:58:18
36#
发表于 2011-5-10 09:40 | 只看该作者
lz继续啊,期待下文。

使用道具 举报

回复
论坛徽章:
0
37#
发表于 2011-5-10 15:35 | 只看该作者
太喜欢这种帖子了

使用道具 举报

回复
论坛徽章:
1
ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
38#
发表于 2011-5-11 10:59 | 只看该作者
太监了?继续啊!

使用道具 举报

回复
论坛徽章:
10
八级虎吧徽章
日期:2009-02-09 17:58:50ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:19蜘蛛蛋
日期:2012-01-12 13:27:03ITPUB十周年纪念徽章
日期:2011-11-01 16:24:51开发板块每日发贴之星
日期:2011-06-08 01:01:012011新春纪念徽章
日期:2011-02-18 11:43:33ITPUB9周年纪念徽章
日期:2010-10-08 09:28:532010年世界杯参赛球队:西班牙
日期:2010-06-14 22:08:542009日食纪念
日期:2009-07-22 09:30:00一汽
日期:2013-08-08 10:50:32
39#
发表于 2011-5-11 13:45 | 只看该作者
意犹未尽啊,顶~

使用道具 举报

回复
论坛徽章:
1
2011新春纪念徽章
日期:2011-02-18 11:43:35
40#
发表于 2011-5-11 16:05 | 只看该作者
刚好自己对这方面不是太熟悉,楼主别太监

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表