下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浅议sql数据为并发控制技术【摘要】工作流技术在信息系统的应用并发控制机制的 设计是经常要面临的问题,给出一种基于将工作流中数据和 任务分离的工作流并发控制机制,在保证工作流正确性的前 提下,强有力的约束控制加以实现用数据库中” sql”语言。【关键词】sql并发控制措施abstract : workflow technology in information system applications of intercurrent mechanism design is often faces problems, t his paper presents a met hod based on
2、workflow data and task will separate workflow intercurrent mechanism, ensure the correctness of a workflow premise , strong constraint control realization with database sql language 并发性可以定义为允许多个进程同时操作共享数据的 能力。在不互相干扰的前提下,并发执行的用户进程的数量 越多,数据库系统的并发性就越强。随着信息化的普及和互 联网的飞速发展,应用程序的用户越来越多,对并发性的要 求也就越来越高。在许多情况
3、下,对并发性的处理直接关系 到一个项目的成败。1数据库的并发问题如果没有锁定且多个用户同时访问一个数据库,则当他 们的事务同时使用相同的数据时可能会发生数据不一致问 题,这就是并发问题。他包括:1.1丢失更新。当两个或多个事务选择同一行,然后基 于最初选定的值更新该行时,会发生丢失更新问题。1.2未确认的相关性(脏读)。当第二个事务选择其他事 务正在更新的行时,会发生未确认的相关性问题。1.3不一致的分析(非重复读)。当第二个事务多次访问 同一行而且每次读取不同的数据时,会发生不一致的分析问 题。1.4幻象读。当对某行执行插入或删除操作,而该行属 于某个事务正在读取的行的范围时,会发生幻象读问
4、题。2. sql server的并发处理机制sql server使用锁定确保事务完整性和数据一致性。锁 定可以防止用户读取正在由其他用户更改的数据,并可以防 止多个用户同时更改相同的数据。大多数情况下,你不用关 心如何为资源加锁,使用什么类型的锁,这些都是sql server 自动控制的。但可以通过了解锁并在应用程序中自定义锁来 设计更有效的应用程序。2. 1锁粒度sql server具有多粒度锁定,允许一个事务锁定不同类 型的资源。锁定在较小的粒度可以增加并发但需要较大的开 销,因为如果锁定了许多行,则需要控制更多的锁。锁定在 较大的粒度就开发而言是相当昂贵的,因为锁定整个表限制 了其他事务
5、对表中任意部分进行访问,但要求的开销较低, 因为需要维护的锁较少。sql server可以锁定的资源如表1所示:2. 2锁模式sql server使用不同的锁模式锁定资源,这些锁模式确 定了并发事务访问资源的方式。表1sql server支持的锁模式如表2所示:2. 3隔离级别前面已经介绍了锁模式和锁资源的粒度级别,它们可以 在一定程度上控制并发。在这个基础上,隔离级别定义了各 个并发事务之间的隔离程度。sql server定义了四种隔离级 别,分别是未提交读、提交读、可重复读和可串行读。这四 种隔离级允许不同类型的行为,如表3所示:表2表32. 4新增的快照机制sql server2005中
6、引入了 一项被称为行版本控制的技 术。利用该技术,在事务修改数据之前会在tempdb数据库 中存储一份具有一致性的数据副本,这样当进程需要读取数 据时,不必请求资源上的共享锁,可以直接从tempdb数据 库的版本存储区中读取,因此它不会与写进程发生冲突,从 而提高了并发性。3提高系统并发性的一些措施通过了解sql的并发控制机制,我们根据减少锁、减少 保持锁的时间、减少冲突的原则,提出一些提高系统并发性 的措施:3. 1优化sql语句的性能,尤其是select语句的性能。 首先,减少sql语句的运行时间可以缩短该语句在资源上保 持锁的时间,从而允许更多的互斥操作。其次,多数select 语句的性
7、能问题都是因没有合适的索引,或者即使有索引但 未利用索引所导致的。通过创建合适的索引或优化sol语句 使之利用索引,从而也就避免了在表中的所有行或整个表上 保持锁。3.2使用尽量短的事务,尤其是要避免在事务执行期间 与用户交互。这样可以减少锁的保持时间。3.3在读写操作过多导致大量死锁的系统中使用快照隔 离级别或已提交读快照隔离级别,但这时要特别注意优化 tempdb数据库。3.4如果不能使用快照,则尽量使用较低的隔离级别。 隔离级别越低,允许的并发性越高,反之亦然。3. 5采用合适的raid磁盘阵列系统。数据文件适合使用 raid10磁盘阵列,而日志文件通常使用raid1就足够了。另外,因为日志是连续写入的,把日志文件和数据文件放在同 一个磁盘驱动器会推迟数据操作,所以,最好把日志文件放 到单独的磁盘驱动器。3.6对大量数据使用分区表,通过把请求均匀分布到各
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童感觉统合训练师冲突管理评优考核试卷含答案
- 组坯热压工操作能力知识考核试卷含答案
- 浓硝酸工标准化考核试卷含答案
- 桩工机械装配调试工岗前安全意识考核试卷含答案
- 《GBT 23642-2017 电气绝缘材料和系统 瞬时上升和重复电压冲击条件下的局部放电(PD)电气测量》专题研究报告
- 《GB-T 40864-2021柔性交流输电设备接入电网继电保护技术要求》专题研究报告
- 印染助剂复配工岗前安全宣传考核试卷含答案
- 焊接设备操作工职业健康、安全、环保技术规程
- 汽车锻造生产线操作工安全演练模拟考核试卷含答案
- 重冶转炉工岗前岗中考核试卷含答案
- GB/T 43565-2023中小学合成材料面层篮球场地
- 纯电动汽车的结构
- 政务信息写作(方法大全-案例详实-个人心得)
- 消毒供应中心技能考核操作评分标准
- 设施蔬菜优质高效栽培技术课件
- GA/T 1567-2019城市道路交通隔离栏设置指南
- 建筑工程制图设备施工图课件
- 航天器用j30jh系列微型矩形电连接器
- translated-2022+中国专家共识:危重症患者的血糖管理(中文版)
- 40篇英语短文搞定高考3500个单词(全部含翻译-重点解析)
- 2022年三级中医医院评审标准
评论
0/150
提交评论