索引,视图,存储过程和触发器

1,索引:数据排序的方法,快速查询数据
分类:
唯一索引:不允许有相同值
主键索引:自动创建的主键对应的索引,命令方式不可删
聚集索引:物理顺序与索引顺序一致,只能创建一个
非聚集索引:物理顺序与索引顺序不一致,可创建多个
复合索引:多列组成
全文索引:特殊功能索引
命令:
创建索引:创建[集群|独特]索引索引名在表名(列名desc)
使用索引:select * from表名与(索引(索引名))
注意事项:①尽量在频繁使用,经常查询,排序的列上建索引
②不要再列值很少或行数很少的表中建索引
2,视图:虚拟表,来自一个或多个表
作用:①筛选表中数据
②屏蔽敏感数据
③将多个表抽象为一个表,减少了操作难度
命令:创建视图视图名如SQL语句
注意事项:①不能有order by子句,除非有顶级子句
②不能有到
③不能引用临时表
3,存储过程:SQL语句和控制句的预编译集合,保存在数据库(资源),可由应用程序调用执行
优点:①模块化:一次创建,多次调用
②速度快,效率高
③减少网络流量
④安全性好
分类:①系统存储过程:以sp_开头
sp_databases:数据库信息
sp_tables:表和视图
sp helptext:存储过程,触发器、视图的信息
扩展存储过程,可以执行SQL外的命令,比如操作系统命令,以xp
开头
②用户自定义存储过程:
命令:创建过程存储过程名如SQL语句
执行:exec存储过程名
可以添加,输入,输出的参数值
4,触发器:对表进行插入,更新,删除时自动执行的存储过程
可以实现比检查约束更复杂的约束,通过事件而触发
分类:①插入触发器:插入数据触发
②更新触发器:更新数据触发
③删除触发器:删除数据触发
触发器的表:存储在内存中,触发器完成则删除
插入表:保存新增的和更新的信息
删除表:存放被删除和更新前的记录
命令:创建触发器触发器名在表名(更新、插入、删除)的SQL命令

索引,视图,存储过程和触发器