废话不多说,直接上干货            14:13:23


事务

    概括:事务是一种机制,一个操作序列,包含一组数据库操作命令,并且把所有的命令作为一个整体一起 向系统提交或撤销操作

       请求。

      

    事务的特性:

         1.原子性:事务是一个完整的操作,事务的各元素都是不可分的(原子的)。事务中的一组命令要么都执行,要么都不执

        行。

       2.一致性:当事务完成时,数据必须处于一致状态。也就是说,在事务开始之前,数据库中存储的数据处于一致状态。在

        正在进行的事务中,数据可能处于不一致的状态。但是,当事务成功完成时,数据必须再次回到已知的一致状态。

       3.隔离性:对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其

        他事务。

       4.持久性:事务的持久性指不管系统是否发生了故障,事务处理的结果都是永久的。

       以上四个特性简称“ACID”特性

    

    语法:

       1.开始事务:    begin transaction    这个语句显式的标记一个事务的起始点。

       2.提交事务:    commit transaction   这个语句标志一个事务成功结束。

       3.回滚(撤销)事务:rollback transaction    清除自事务起始点至该语句所做的所有数据更新操作,将数据状态回滚

        到事务开始之前。

    

    事务分类:

       1.显式事务:用begin transaction明确指定事务的开始

       2.隐式事务:通过设置set implicit_transactions on语句,将隐式事务模式设置为打开。当以隐式事务操作时,不需要

        指定事务的开始,只要提交或回滚每个事务就行了,SQL Server在提交或回滚事务后自动启动新事务。

       3.自动提交事务:SQL Server的默认模式。它将每条单独的T-SQL语句看为一个事务,如果成功执行,就自动提交,否

        则自动回滚。

视图

    概括:视图是保存在数据库中的select查询,是另一种查看数据库中一个或多个表中数据的方法。视图是一种虚拟表,通常是作

       为来自一个或多个表的行或列的子集创建的。

    作用:

       1.筛选表中的行。

       2.防止未经许可的用户访问敏感数据。

       3.将多个物理数据表抽象为一个逻辑数据表。

    

    操作:

       1.创建语法:create view (视图名字,多为view开头)

              as

              <select 语句>

       2.删除语法:drop view (视图名字,多为view开头)

       3.查询视图是否存在:exists(select * from sysobjects where name='(视图名字,多为view开头)')

       4.查看视图数据:select 列名,列名 from (视图名字,多为view开头)

    注意事项:

       1.每个视图中可以使用多个表。

       2.与查询相似,一个视图可以嵌套另一个视图,但最好不要超过3层。

       3.视图中的select语句不能包括以下几种:

          a.order by子句,除非在select语句的选择列表中也有一个top子句。

          b.into关键字。

          c.引用临时表或表变量。

索引

    概括:索引是SQL serv编排数据的内部方法,是检索表中数据的直接通道。

       索引页是数据库中存储索引的数据页。索引页存放检索数据行的关键字页及该数据行的地址指针。

    

    作用:索引的作用是通过使用索引,大大提高数据库的检索速度,改善数据库性能。

    分类:

       1.唯一索引:唯一索引不允许两行具有相同的索引值。

       2.主键索引:在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。

       3.聚集索引:在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能有一个聚集索引。

       4.非聚集索引:非聚集索引建立在索引页上,当查询数据时可以从索引中找到记录存放的位置。一个表可以有多个非聚集

        索引。

       5.复合索引:在创建索引时,并不是只能对其中一列创建索引,与创建主键一样,可以将多个列组合作为索引,这种索引

        称为复合索引。

       6.全文索引:全文索引时一种特殊类型的基于标记的功能性索引,由SQL Server中全文引擎服务创建和维护。

    语法:

       1.创建索引:create [unique] [clustered | nonclustered] index (索引名称,多为index开头)

              on (表名)((列名))

              [with fillfactor = x]

             介绍:unique指定唯一索引,可选。clustered | nonclustered指定是聚集索引还是非聚集索引,可

                选。fillfactor 表示填充因子,是一个0-100的值,指示索引页填满的空间所占的百分比。语法

                内的中括号代表可选部分。

       2.删除索引:drop index (表名).(索引名称)

             注意事项:a.删除表时,该表的所有索引将同时被删除。

                  b.如果要删除表的所有索引,则先要删除非聚集索引,再删除聚集索引。

--以上


ps:如有不正之处,欢迎提出。                      16:18:26

SQL Server事务、视图和索引的更多相关文章

  1. 人人都是 DBA(VI)SQL Server 事务日志

    SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consisten ...

  2. 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结

    为什么说JAVA中要慎重使用继承   这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...

  3. SQL Server 系统视图

    SQL Server系统视图非常的多,因此不可能一个一个地写,我最近一直在想,对于数据库的系统视图应该如何学,但是看了一下目录之后,我呆了,我觉得每个写一次,可能都要花费1个星期的时间,如果对每一个返 ...

  4. SQL Server系统视图sys.master_files不能正确显示数据库脱机状态

    最近发现在SQL Server数据库(目前测试过SQL Server 2008, 2012,2014,2016各个版本)中,即使数据库处于脱机(OFFLINE)状态,但是sys.master_file ...

  5. SQL Server 事务复制分发到订阅同步慢

    原文:SQL Server 事务复制分发到订阅同步慢 最近发现有一个发布经常出现问题,每几天就出错不同步,提示要求初始化.重新调整同步后,复制还是很慢!每天白天未分发的命令就达五六百万条!要解决慢的问 ...

  6. SQL Server强制使用特定索引 、并行度、锁

    SQL Server强制使用特定索引 .并行度 修改或删除数据前先备份,先备份,先备份(重要事情说三遍) 很多时候你或许为了测试.或许为了规避并发给你SQL带来的一些问题,常常需要强制指定目标sql选 ...

  7. mysql,sql server,oracle 唯一索引字段是否允许出现多个 null 值?

    最近一个项目,涉及到sql server 2008,因为业务需求,希望建立一个唯一索引,但是发现在sql server中,唯一索引字段不能出现多个null值,下面是报错信息: CREATE UNIQU ...

  8. SQL Server事务的隔离级别

    SQL Server事务的隔离级别 ########## 数据库中数据的一致性 ########## 针对并发事务出现的数据不一致性,提出了4个级别的解决方法:  隔离级别  第一类丢失更新  脏读 ...

  9. Sql Server 事务隔离级别的查看及更改

    根据自身 Sql Server 的情况来自定义 事务隔离级别,将会更加的满足需求,或提升性能.例如,对于逻辑简单的 Sql Server,完全可以使用 read uncommitted 模式,来减少死 ...

  10. Sql Server专题一:索引(中)

    写在前面的废话: 索引这个知识点,我前前后后不知道看了多少边,网上的文章五花八门,搞的我晕头转向,搞的牛逼点的就是测试索引带来的好处,还搞一大堆的测试数据出来,有意思吗?MS自己不会测试吗?这样的测试 ...

随机推荐

  1. 十分钟介绍mobx与react

    原文地址:https://mobxjs.github.io/mobx/getting-started.html 写在前面:本人英语水平有限,主要是写给自己看的,若有哪位同学看到了有问题的地方,请为我指 ...

  2. 学习AOP之深入一点Spring Aop

    上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...

  3. setTimeout 的黑魔法

    setTimeout,前端工程师必定会打交道的一个函数.它看上去非常的简单,朴实.有着一个很不平凡的名字--定时器.让年少的我天真的以为自己可以操纵未来.却不知朴实之中隐含着惊天大密.我还记得我第一次 ...

  4. 【WCF】自定义错误处理(IErrorHandler接口的用法)

    当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...

  5. OpenSceneGraph in ActiveX by ActiveQt

    OpenSceneGraph in ActiveX by ActiveQt eryar@163.com Abstract. Qt’s ActiveX and COM support allows Qt ...

  6. 文档对象模型DOM通俗讲解

    转自:http://www.jb51.net/article/42671.htm 在开始之前先说一点,DOM是非常容易理解的,但是大家说的太官方,让人很是难于理解,我们就用非常简单的语言翻译一遍.加深 ...

  7. 和我一起看API(一)你所不知道的LinearLayout补充

    楼主英语水平差,翻译的不好的话请多多指正,嘿嘿... A Layout that arranges its children in a single column or a single row. T ...

  8. Git使用详细教程(二)

    分支 其实在项目clone下来后就有一个分支,叫做master分支.新建分支的步骤:右键项目→Git→Repository...→Branches... master分支应该是最稳定的,开发的时候,建 ...

  9. 【C#】获取网页内容及HTML解析器HtmlAgilityPack的使用

    最近经常需要下载一些东西,而这个下载地址又会经过层层跳转,每个页面上都有很多广告,烦不胜烦,所以做了一个一键获得最终下载地址的小工具.使用C#,来获取网页内容,然后通过HtmlAgilityPack获 ...

  10. [PHP源码阅读]explode和implode函数

    explode和implode函数主要用作字符串和数组间转换的操作,比如获取一段参数后根据某个字符分割字符串,或者将一个数组的结果使用一个字符合并成一个字符串输出.在PHP中经常会用到这两个函数,因此 ...