博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
索引、视图、存储过程和触发器
阅读量:6673 次
发布时间:2019-06-25

本文共 986 字,大约阅读时间需要 3 分钟。

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 :表和视图
sphelptext :存储过程、触发器、视图的信息
扩展存储过程,可以执行SQL外的命令,比如操作系统命令,以xp
开头
②用户自定义存储过程:
命令:create procedure 存储过程名 as SQL语句
执行:exec 存储过程名
可以添加、输入、输出的参数值
4、触发器:对表进行插入、更新、删除时自动执行的存储过程
可以实现比check约束更复杂的约束,通过事件而触发
分类:①insert触发器:插入数据触发
②update触发器:更新数据触发
③delete触发器:删除数据触发
触发器的表:存储在内存中,触发器完成则删除
inserted表:保存新增的和更新的信息
deleted表:存放被删除和更新前的记录
命令:create trigger 触发器名 on 表名 for [update,insert,delete] as SQL命令

转载于:https://blog.51cto.com/13502820/2055417

你可能感兴趣的文章
zookeeper-体验原生api
查看>>
2015中国呼叫中心知识库发展的5个趋势
查看>>
功能教室预约系统开源下载(c#源码)
查看>>
杨百旺短线技法
查看>>
Linux Mysql Related
查看>>
Impala 和 Hive 之间 SQL 区别(翻译)
查看>>
Exception练习-Exception的正确使用
查看>>
关于rms,打开文档的时候提示您没有权限打开文档,因为您的权限已过期
查看>>
如何在eclipse里关联查看android源码
查看>>
总结:提高服务并发能力之DB
查看>>
jdbcTemplate.queryForList获取的List转实体 -----解决方案
查看>>
IBM V7000U
查看>>
关于Java Servlet的中文乱码
查看>>
Android Push Notification实现信息推送使用
查看>>
Netty权威指南带目录完整版.pdf
查看>>
AFNetWorking https 双向认证
查看>>
Eclipse Maven工作空间中工程依赖调试
查看>>
将Jetty做为内嵌的服务器使用
查看>>
1.1 DHCP服务的介绍和安装
查看>>
计算机安全篇1
查看>>