香港首页 > 帮助中心 > 网络技术 > SQL server 数据库的索引和视图、存储过程和触发器

SQL server 数据库的索引和视图、存储过程和触发器

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命令
(责任编辑:黄佳炜)