• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 位图索引(Bitmap Index)与数据DML LOCK场景问题解析

位图索引(Bitmap Index)与数据DML LOCK场景问题解析

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了位图索引,oracle 位图索引,创建位图索引,oracle 创建位图索引,mysql 位图索引等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

位图索引(Bitmap Index)与数据DML LOCK场景问题解析


背景:有同事反应某个RAC数据库的delete语句执行慢的问题。(他这个delete语句,是通过4个应用并发执行的情景)。后面通过AWR报告和查询
v$sqlarea a,v$session s, v$locked_object三个视图,发现锁问题和等待事件“enq: TX - row lock contention”,和大量delete语句等待。通过分析得出表中有位图索引,--位图索引,对于更新一条记录都会导致锁被应用到大量的记录上,导致数据库大量锁等待事件-- 通过删除位图索引,解决其数据库效率问题。

AWR真实场景报告如下:


目的:本文通过模拟实验例子,来研究分析位图索引引起的锁等待问题。

1.数据场景模拟(建立表和位图索引)

SQL> create table test(id number,col varchar2(20));
Table created.
SQL> create bitmap index idx_t_col on test(col);
Index created.

2.插入数据
insert into test values(1,'A');
insert into test values(2,'A');
insert into test values(3,'A');
insert into test values(4,'B');

3.查看模拟数据
SQL> select * from test;
ID COL
---------- --------------------
1 A
2 A
3 A
4 B

4.模拟多会话,锁问题


这里三个会话,传达非常重要的一个规律。如果col值相同的话,不同行会被锁定。
而Oracle数据库非常自豪的一个特性就是并发处理,但是加上了位图索引之后,锁定范围的扩大化会导致并发的dml操作出现wait event事件,会话被阻塞。

5.查看锁等待事件


6.查看session对应的锁等待语句


进一步确认猜测是正确,删除位图索引,很好的解决这次数据库的性能问题。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 位图索引(Bitmap Index)与数据DML LOCK场景问题解析

相关文章

  • 2017-05-26从视频中每X秒创建一个缩略图
  • 2017-05-26我的android学习经历16,android学习经历16
  • 2017-05-26Android SwipeRefreshLayout下拉刷新与上拉加载+滑动删除
  • 2017-05-26Android应用程序安装过程浅析
  • 2017-05-26手机安全卫士——在设置中心 自定义view和自定义属性,安全卫士view
  • 2017-05-26android的color整理(一),androidcolor整理
  • 2017-05-26Json解析工具的选择,Json解析工具选择
  • 2017-05-26状态栏一体化及其带来的软键盘自适应问题
  • 2017-05-26mysql core文件的正确打开姿势
  • 2017-05-26android不同的按钮一起点击崩溃解决,android一起

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • linux设备驱动程序之时钟管理(3)----我的那块儿蛋糕
    • Android(Linux)实时监测串口数据,android实时监测
    • Android系统属性简介,android属性简介
    • Android防止过快点击造成多次事件
    • Play 2D games on Pixel running Android Nougat (N7.1.2) with Daydream View VR headset,nougatn7.1.2
    • 用户登录(Material Design + Data-Binding + MVP架构模式)实现,data-bindingmvp
    • Android中隐藏顶部状态栏的那些坑,android顶部状态栏
    • ORA-16038/ORA-00742: Log read detects lost write in thread
    • android 完全解析模拟遥控器按键,android遥控器
    • GitLab误删 300G数据的一点启示

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有