专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » sql语句分析:SQL语句锁定分析 »正文

sql语句分析:SQL语句锁定分析

来源: 发布时间:星期五, 2008年9月26日 浏览:168次 评论:0

  DM对各种DDL和GRANT等非DML语句都分解为增、删、改。下表为DM对各种DML语句和查询语句的封锁策略。

\"\"
  注:S*表示瞬时锁,在语句结束后释放;Range表示键范围锁。
  上表只是系统在一般情况下的处理,当系统检测到有锁升级的可能,则会升级锁。一般而言,IS锁升级为S锁,IX锁升级为X锁,同时,不再进行行封锁。
  5、自定义锁定提高系统效率
  DM也提供了两个函数SET_TABLE_OPTION([db.][sch.]tablename,option,value)、SET_INDEX_OPTION([db.]indexname,option,value)(具体语法参见《DM_SQL语言使用手册》第8章)供用户自行定义锁定类型,以增强系统并发度,提高系统效率。这两个函数是为那些清楚地知道特定类型的锁适用于何种情况的专家级用户提供的。
  函数SET_TABLE_OPTION()用于禁用指定表上的页级锁、行级锁或同时禁用二者,这一设置对该表上的所有索引都生效。函数SET_INDEX_OPTION()则用于禁用某一索引上的页级锁、行级锁或同时禁用二者。
  例如,当用户只需要修改索引中某定长字段时,修改操作不会造成B树的分裂与合并,此时就可以禁用该索引的页级锁。又如,当所有的用户都只做插入操作时,用户之间并不会对同一元组进行操作,此时就可以禁用行级锁。当用户能保证不对表进行增、删、改,而只是进行查询时,则可以同时禁用该表上的页级锁和行级锁,此时并发度最高。

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: