- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅议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 workflow data and task will separate workflow intercurrent mechanism, ensure the correctness of a workflow premise , strong constraint control realization with database SQL language^ ?
并发性可以定义为允许多个进程同时操作共享数据的 能力。在不互相干扰的前提下,并发执行的用户进程的数量 越多,数据库系统的并发性就越强。随着信息化的普及和互 联网的飞速发展,应用程序的用户越来越多,对并发性的要 求也就越来越高。在许多情况下,对并发性的处理直接关系 到一个项目的成败。
1?数据库的并发问题
如果没有锁定且多个用户同时访问一个数据库,则当他 们的事务同时使用相同的数据时可能会发生数据不一致问 题,这就是并发问题。他包括:
1.1丢失更新。当两个或多个事务选择同一行,然后基 于最初选定的值更新该行时,会发生丢失更新问题。
1.2未确认的相关性(脏读)。当第二个事务选择其他事 务正在更新的行时,会发生未确认的相关性问题。
1.3不一致的分析(非重复读)。当第二个事务多次访问 同一行而且每次读取不同的数据时,会发生不一致的分析问 题。
1.4幻象读。当对某行执行插入或删除操作,而该行属 于某个事务正在读取的行的范围时,会发生幻象读问题。
2. SQL Server的并发处理机制
SQL Server使用锁定确保事务完整性和数据一致性。锁 定可以防止用户读取正在由其他用户更改的数据,并可以防 止多个用户同时更改相同的数据。大多数情况下,你不用关 心如何为资源加锁,使用什么类型的锁,这些都是SQL Server 自动控制的。但可以通过了解锁并在应用程序中自定义锁来 设计更有效的应用程序。
2. 1锁粒度
SQL Server具有多粒度锁定,允许一个事务锁定不同类 型的资源。锁定在较小的粒度可以增加并发但需要较大的开 销,因为如果锁定了许多行,则需要控制更多的锁。锁定在 较大的粒度就开发而言是相当昂贵的,因为锁定整个表限制 了其他事务对表中任意部分进行访问,但要求的开销较低, 因为需要维护的锁较少。
SQL Server可以锁定的资源如表1所示:
2. 2锁模式
SQL Server使用不同的锁模式锁定资源,这些锁模式确 定了并发事务访问资源的方式。
表1
SQL Server支持的锁模式如表2所示:
2. 3隔离级别
前面已经介绍了锁模式和锁资源的粒度级别,它们可以 在一定程度上控制并发。在这个基础上,隔离级别定义了各 个并发事务之间的隔离程度。SQL Server定义了四种隔离级 别,分别是未提交读、提交读、可重复读和可串行读。这四 种隔离级允许不同类型的行为,如表3所示:
表2
表3
2. 4新增的快照机制
SQL Server2005中引入了 一项被称为行版本控制的技 术。利用该技术,在事务修改数据之前会在tempdb数据库 中存储一份具有一致性的数据副本,这样当进程需要读取数 据时,不必请求资源上的共享锁,可以直接从tempdb数据 库的版本存储区中读取,因此它不会与写进程发生冲突,从 而提高了并发性。
3?提高系统并发性的一些措施
通过了解SQL的并发控制机制,我们根据减少锁、减少 保持锁的时间、减少冲突的原则,提出一些提高系统并发性 的措施:
3. 1优化SQL语句的性能,尤其是SELECT语句的性能。 首先,减少SQL语句的运行时间可以缩短该语句在资源上保 持锁的时间,从而允许更多的互斥操作。其次,多数SELECT 语句的性能问题都是因没有合适的索引,或者即使有索引但 未利用索引所导致的。通过创建合适的索引或优化SOL语句 使之利用索引,从而也就避免了在表中的所有行或整个表上 保持锁。
3.2使用尽量短的事务,尤其是要避免在事务执行期间 与用户交互。这样可以减少锁的保持时间。
3.3在读写操作过多导致大量死锁的系统中使用快照隔 离级别或已提交读快照隔离
您可能关注的文档
最近下载
- 《增材制造》课件—02增材制造技术的常见工艺方法及其装备.pptx VIP
- 森林植被恢复费征收使用管理暂行办法.docx VIP
- 《明别集丛刊》第1辑目录.pdf VIP
- 药物的合成反应.ppt VIP
- 具身智能标准体系发展研究.docx VIP
- 2025年税务系统面试模拟试题及答案解析(70).doc VIP
- 基于核心素养的物理课堂教学设计和反思初中物理市公开课获奖课件省名师示范课获奖课件.pptx VIP
- 室外给排水专项施工方案.docx VIP
- 不定式、动名词、分词高频考点(解析版)-2025年上海中考英语专项复习.pdf VIP
- 2025年高速公路收费员岗位技能及理论知识考试题与答案.docx VIP
文档评论(0)