设为首页 收藏本站
查看: 995|回复: 0

[经验分享] SQL Server事务、视图和索引

[复制链接]

尚未签到

发表于 2017-12-13 18:36:43 | 显示全部楼层 |阅读模式
  废话不多说,直接上干货            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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-423765-1-1.html 上篇帖子: ArcEngine 连接sql server sde(转载) 下篇帖子: SQL Server 2012 酸爽的安装体验
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表