欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2023-08-21 00:04:08
1、索引:数据排序的方法,快速查询数据 分类: 唯一索引:不允许有相同值 主键索引:自动创建的主键对应的索引,命令方式不可删 聚集索引:物理顺序与索引顺序一致,只能创建一个 非聚集索引:物理顺序与索引顺序不一致,可创建多个 复合索引:多列组成 全文索引:特殊功能索引 命令: 创建索引:create ......

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命令