使用Sybase行锁说明及测试文档
更新时间:2023-09-22 12:22:01 阅读量: 经管营销 文档下载
- sybase锁表解锁推荐度:
- 相关推荐
Sybase11.9.X 表级锁与行级锁的转换
Sybase11.9.X表级锁与行级锁的转换
一、
简介
Sybase通过封锁来保证当前活动事务使用的数据的一致性,数据的一致性是指如果多个用户重复执行一组事务,每次的结果应该是相同的,即并发的查询和修改互不干扰。
Sybase11.9.X支持三种封锁级别:行级锁、页面锁和表级锁。行级锁是对操作的数据行封锁,页面锁是对数据或索引页的所有数据行封锁,表级锁是对整个表封锁。Sybase11.9.X系统默认的封锁类型是表级锁,一般来说,将封锁类型设为行级锁可以降低封锁冲突。
以下将介绍如何将Sybase11.9.X系统的封锁类型设为行级锁。 二、
操作方法
? 修改Sybase11.9.X系统封锁类型: 可通过如下指令:
sp_configure ‘lock scheme’,1,’datarows’ go
(其中datarows表示行级锁、datapages表示页级锁、allpages表示表级锁)将数据库默认的封锁级别由表级锁改为行级锁。
修改之后通过指令: sp_configure ‘lock scheme’ go
查询已修改数据库系统的封锁类型。
但是这种设置方法只能对在设置之后创建的表生效,也就是说已经创建的表仍然保留数据库原来的设置。要改变已创建的表的锁级别,请按下步操作。
新太科技技术开发中心 2 /9
Sybase11.9.X表级锁与行级锁的转换
? 修改已创建表的封锁类型:
1、
进入需操作的数据库,运行下面语句:
select 'alter table' , name , 'lock datarows' , char(13) , 'go' from sysobjects where type = 'U'
go
生成批量将表改为行级锁的脚本,如下例: alter table test lock datarows go
alter table test1 lock datarows go …… 2、
运行生成的脚本,每次操作5条记录,对于如下报错:
Server Message: Number 4963, Severity 16 Line 1:
Table 'test' is already locked in the desired locking scheme. ……
可不预理会,报错是说明表已经定义为行锁。对于操作等待,一般是由于有其它会话正在对该表进行加锁操作,这种情况或者等待加锁的会话运行结束或者暂时退出,请数据库较闲时再进行操作。 三、
测试报告
由于查询操作将对执行查询的表加共享锁,而插表、更新表操作将对执行操作的表加排他锁。所以测试将选择查询、插表、更新表三种SQL操作来测试修改
新太科技技术开发中心 3 /9
Sybase11.9.X表级锁与行级锁的转换
行级锁时数据库的并发性。
首先创建测试表: create table test (
no
int
not null, not null,
name varchar(10)
constraint pky_test primary key (no) ) go
测试编号:1.1 测试项目:修改为行级锁前数据库状况 系统功能: 修改为行级锁前插表、查询操作 测试程序: 用户操作: 1、 执行以下SQL: insert into test values(1,’Mike’) go 2、执行以下SQL: select * from test go 测试结果及分析:ok
新太科技技术开发中心 4 /9
系统响应: 1. ( 1 row affected) 2. name No ----------- ---- 1 Mike Sybase11.9.X表级锁与行级锁的转换
测试编号:1.2 测试项目:正在表操作时,同时修改为行级锁数据库状况 系统功能: 正在查询时,同时进行行级锁修改 测试程序: 用户操作: 1. 执行以下SQL: begin tran select * from test go 2.打开另一session,执行以下SQL: alter table test lock datarows go 3.在另一个session中执行SQL: commit tran go 测试结果及分析:ok
测试编号:1.3 测试项目:正在表操作时,同时修改为行级锁数据库状况 系统功能: 正在插表时,同时进行行级锁修改 系统响应: 1. no name ----------- ---- 1 Mike 2 Jack 2.成功执行。 3.将事务提交。 新太科技技术开发中心 5 /9
Sybase11.9.X表级锁与行级锁的转换
测试程序: 用户操作: 1. 执行以下SQL: begin tran insert into test values(2,’Jack’) go 2.打开另一session,执行以下SQL: alter table test lock datarows go 3.在另一个session中执行SQL: commit tran go 测试结果及分析:ok
测试编号:1.4 测试项目:修改为行级锁后数据库状况 系统功能: 修改为行级锁前插表、查询操作 系统响应: 1. 1 row affected) 2.处于等待状态。 No name ----------- ---- 1 Mike 3.第二session执行成功。 新太科技技术开发中心 6 /9
Sybase11.9.X表级锁与行级锁的转换
测试程序: 用户操作: 1. 执行以下SQL: insert into test values(3,’Rose’) go 2、执行以下SQL: select * from test go 系统响应: 1. 1 row affected) 2. no name ----------- ---- 1 Mike 2 Jack 3 Rose 测试结果及分析:ok
测试编号:1.5 测试项目:正在表操作时,同时修改数据库系统参数的数据库状况 系统功能: 正在插表时,同时进行数据库锁类弄参数据的修改 新太科技技术开发中心 7 /9
Sybase11.9.X表级锁与行级锁的转换
测试程序: 用户操作: 1. 执行以下SQL: 系统响应: 1. 1 row affected) 2.成功执行。 3.将事务提交。 begin tran insert into test(4,’Jane’) go 2.打开另一session,执行以下SQL: sp_configure scheme’,1,datarows go 3.在另一个session中执行SQL: commit tran go 测试结果及分析:ok
测试编号:1.6 ‘lock 测试项目:对表进行行操作时,同时对同一表的另一行操作的数据库状况 系统功能: 对表的一行执行update,同时对同一表的另一行执行update,将不互相影响 新太科技技术开发中心 8 /9
Sybase11.9.X表级锁与行级锁的转换
测试程序: 用户操作: 1、 执行以下SQL: 系统响应: 1.成功执行 1 row affected) 2.成功执行。 1 row affected) 3.将事务提交。 begin tran go update test set name=’jessica’ where no=1 go 2.打开另一session,执行以下SQL: begin tran go update test set name=’john’ where no=2 go 3.在两个session中执行SQL: commit tran go 测试结果及分析:ok 结论:
1、改变表或系统的封锁类型并不会影响数据库的运行。
2、改变表的封锁类型为行级锁将只对数据行加锁,可以极大的减少封锁冲突。
新太科技技术开发中心 9 /9
正在阅读:
使用Sybase行锁说明及测试文档09-22
万仙山09-19
成都纳实咨询公司简介-201105-31
抗震选择题07-04
数控加工技术期末复习题10-12
陕西省西安市第一中学2014 - 2015学年高一英语下学期期末考试试题12-22
2016专业技术人员突发事件应急处理答案03-11
房地产客服的工作计划范文02-26
河北省医疗器械商店名录1276家12-23
- 教育局拟征求中考升学奖励制度
- 2020房地产销售主管年终工作总结
- 虚拟多台位互感器检定装置投资项目可行性分析
- 车间工人辞职报告范本
- 溴投资项目可行性分析
- 改名字申请书怎么写
- 忧与爱作文素材
- 溴苯腈投资项目可行性分析
- 2020清华大学考研复试时间:3月6日至22日
- 2020年蚌埠高考查分系统网址
- 2020年二建《建筑工程实务》测试题及答案(13)
- 生死感悟——人间世观感一
- 武陵源区军地小学观看魏书生《如何当好班主任》讲座录像
- 全球10大安全旅游国出炉日本排名第9
- 企业策划书模板
- 高中英语教师工作总结3篇
- 法定代表人证明范本
- 大学助学金申请书范文1700字
- 案外人申请不予执行仲裁裁决司法解释施行首份申请书递交齐齐哈尔...
- 环球国际房地产开发项目策划
- 说明
- 文档
- 测试
- 使用
- Sybase
- 电阻应变式传感器要点
- 十字旋转屏报告 - 图文
- (目录)2018-2023年中国不良资产处置行业市场发展预测及投资咨询报告-统计分析报告 - 图文
- 领导的座次安排(机关单位必看)
- 汉字是表意文字,早期的汉字是因义而构形的,也就是说
- 中原国际商贸城项目策划全案
- 尤俊农耕文化园解说词
- 燕麦的含糖量高达三分之二,为什么医生还建议糖尿病人吃燕麦?
- 学校安全管理与学生安全教育研究课题
- 10篇英语阅读-带翻译题目答案版
- 公务员每日一练习题8月29日--数量关系
- 材料作文议论文
- 职业球类球类赛事分析 - 图文
- 北京市2017年英语会考 不含听力
- 餐饮业税收存在五大问题
- 对我国绿色会计的探讨
- 液压系统的振动、噪声诊断与排除 - 图文
- 新版教科版小学五年级下册科学全册教学设计(教案)2
- 中级经济师人力专业常考知识点:交易型和改变型领导理论
- 外科分论各种题目各种重点合集