数据库 事务、锁.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 事务、锁及索引 主要内容 事务的概念和特性 事务的种类 锁的概念和类别 事务的隔离级别 索引及全文索引 事务 事务的概念 1、事务是一种机制,是一个操作序列; 2、事务是一个不可分割的工作逻辑单元; 3、在数据库系统上执行并发操作时,事务是作为最小的控制单元来使用的。 事务的基本特性 原子性(Atomicity)、 一致性(Consistency)、 隔离性(Isolation)、 持久性(Durability)。 事务的种类 显式事务 使用关键字BEGIN TRANSACTION和ROLLBACK TRANSACTION或COMMIT TRANSACTION来显示地定义事物的开始和结束。 隐性事务 通过T-SQL语句:SET IMPLICIT_TRANSACTIONS ON,将隐性事务模式设置为打开。 SQL Server 2000将在提交或回滚当前事务后自动启动新事务。无需描述事务的开始,只需提交或回滚每个事务 自动提交事务 所有T-SQL语句在完成时,都会提交或回滚。如果一条语句成功完成,则将其提交,如果遇到任何错误,则将其回滚。只要没有用显式或隐性替代自动提交模式,SQL Server连接就以自动提交模式为默认模式进行操作。 锁 锁的概念 锁(Lock) 是在多用户环境下对资源访问的一种限制。 锁有两种分类方法。 从数据库系统的角度来看 从程序员的角度看 事务隔离级别 索引 特点 为什么要创建索引 ? 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。 索引 的缺点 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。 索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 在哪些列上创建索引 在经常需要搜索的列上,可以加快搜索的速度; 在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; 在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度; 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的; 在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间; 在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。 不应该在哪些列上创建索引 对于那些在查询中很少使用或者参考的列不应该创建索引。 对于那些只有很少数据值的列也不应该增加索引。 对于那些定义为text, image和bit数据类型的列不应该增加索引。 当修改性能远远大于检索性能时,不应该创建索引。 创建索引的方法 CREATE INDEX语句的语法: CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON table_name ( column_name [ ,...n ] ) [ WITH [ PAD_INDEX ] [[,]FILLFACTOR = x ] [[,]DROP_EXISTING ] ] 索引的类型 聚集索引 数据表的物理顺序与索引顺序相同 非聚簇索引 数据表的物理顺序与索引顺序不相同 * 显式事物 隐性事务 自动提交事务 删除后勤部 DECLARE @transaction_name varchar(32) SELECT @transaction_name = my_transaction_delete BEGIN TRANSACTION @transaction_name GO DELETE FROM department WHERE dept_id = ’1012’ GO DELETE FROM employee WHERE dept_id = ’1012’ GO COMMIT TRANSACTION my_transaction_delete GO 显示的开始事务 显示的提交事务 当SQL Server首次执行下列任何语句时,都会自动启动一个事务。 ALTER TABLE INSERT CREATE OPEN DELETE REVOKE DRO

文档评论(0)

803322fw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档