Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3567314
  • 博文数量: 715
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7745
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(715)

文章存档

2023年(75)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

最近访客

分类: Oracle

2020-09-11 23:05:25


原厂:什么是索引分裂?
小白:索引还分裂?,没听说过,不是我干的,肯定是垃圾应用捣的鬼,数据库不起应用跑的好好的。
原厂:out


临阵磨枪:
事务修改了索引块上的信息,而索引块没有足够空间存放这些信息,必须分裂出一个新块来存放,因此导致分裂现象。最常见的是叶子块分裂,可以在awr中搜索node split 或者v$sesstat 中过滤splits。


索引的争用源自于索引的分裂,而触发索引的分裂的契机就是索引上的高并发事务操作。


如何去解决高并发导致索引分裂的争用:


1.增加ITL槽来增加并发处理能力
即修改索引initrans 参数,其实修改initrans 参数并没有真正解决问题,随着并发度的不断提升,ITL 槽的争用也越发激烈。


2.反向建索引。
利:入库高效了,几乎完全消除了enq:TX-index contention   
弊:数据读取低效,本来访问一个索引块即可,现在需要访问多个索引块了,增加了额外I/O开销。


引自:http://blog.itpub.net/26736162/viewspace-2139232/
阅读(2520) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~