SQL server 数据库的索引和视图、存储过程和触发器
             
              发布时间:2018-07-11 10:40
              来源:梦飞科技
              作者:梦飞 
              点击: 次  
            
         
         
          
	1、索引:数据排序的方法,快速查询数据
	 
	分类:
	 
	唯一索引:不允许有相同值
	 
	主键索引:自动创建的主键对应的索引,命令方式不可删
	 
	聚集索引:物理顺序与索引顺序一致,只能创建一个
	 
	非聚集索引:物理顺序与索引顺序不一致,可创建多个
	 
	复合索引:多列组成
	 
	全文索引:特殊功能索引
	 
	命令:
	 
	创建索引:create   [clustered|unique]   index  索引名  on   表名(列名 desc)
	 
	使用索引:select   *  from   表名   with  (index(索引名))
	 
	注意事项:①尽量在频繁使用、经常查询、排序的列上建索引
	 
	②不要再列值很少或行数很少的表中建索引
	
	梦飞科技。服务器租用。
	 
	2、视图:虚拟表,来自一个或多个表
	 
	作用:①筛选表中数据
	 
	 ②屏蔽敏感数据
	 
	③将多个表抽象为一个表,减少了操作难度
	 
	命令:create  view   视图名   as   SQL语句
	 
	注意事项:①不能有order  by子句,除非有top子句
	 
	②不能有into
	 
	③不能引用临时表
	 
	3、存储过程:SQL语句和控制句的预编译集合,保存在数据库(resource),可由应用程序调用执行
	 
	优点:①模块化:一次创建,多次调用
	 
	②速度快、效率高
	 
	③减少网络流量
	 
	④安全性好
	 
	分类:①系统存储过程:以sp_ 开头
	 
	sp_databases :数据库信息
	 
	sp_tables :表和视图
	 
	sp_helptext :存储过程、触发器、视图的信息
	 
	扩展存储过程,可以执行SQL外的命令,比如操作系统命令,以xp_ 开头
	 
	②用户自定义存储过程:
	 
	命令:create   procedure  存储过程名  as   SQL语句
	 
	执行:exec   存储过程名
	 
	可以添加、输入、输出的参数值
	 
	4、触发器:对表进行插入、更新、删除时自动执行的存储过程。梦飞科技。服务器租用。
	 
	可以实现比check约束更复杂的约束,通过事件而触发
	 
	分类:①insert触发器:插入数据触发
	 
	②update触发器:更新数据触发
	 
	③delete触发器:删除数据触发
	 
	触发器的表:存储在内存中,梦飞科技。服务器租用。触发器完成则删除
	 
	inserted表:保存新增的和更新的信息
	 
	deleted表:存放被删除和更新前的记录
	 
	命令:create   trigger  触发器名  on  表名   for   [update,insert,delete]   as SQL命令
 
          (责任编辑:joker)
            部分网站内容及图片来源于网络,如有侵权或违规内容请联系管理员删除!