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命令
SQL server 数据库的索引和视图、存储过程和触发器的更多相关文章
- SQL Server 数据库的维护(一)__存储过程(procedure)
--维护数据库-- --存储过程(procedure)-- --概述: SQl Serve的存储过程是由一个或多个T-SQL语句组成的一个集合.常用的程序代码段通常被创建成存储过程,一次创建多次调用, ...
- sql:sql server,MySQL,PostgreSQL的表,视图,存储过程结构查询
sql server 2005: --SQL SERVER 2005 生成代码需要知道的SQL语句 use LibrarySystem --查询当前数据库所有表和其的主键字段,字段类型,长度,是否为空 ...
- SQL Server数据库存储过程中拼接字符串注意的问题
在SQL Server数据库中书写复杂的存储过程时,一般的做法是拼接字符串,最后使用EXEC sp_executesql '拼接的字符串' 查询出结果. 先看一段代码: -- ============ ...
- 数据库表设计时一对一关系存在的必要性 数据库一对一、一对多、多对多设计 面试逻辑题3.31 sql server 查询某个表被哪些存储过程调用 DataTable根据字段去重 .Net Core Cors中间件解析 分析MySQL中哪些情况下数据库索引会失效
数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...
- Sql Server数据库性能优化之索引
最近在做SQL Server数据库性能优化,因此复习下一索引.视图.存储过程等知识点.本篇为索引篇,知识整理来源于互联网. 索引加快检索表中数据的方法,它对数据表中一个或者多个列的值进行结构排序,是数 ...
- 转!!sql server 数据库 索引的原理与应用
索引的概念 索引的用途:我们对数据查询及处理速度已成为衡量应用系统成败的标准,而采用索引来加快数据处理速度通常是最普遍采用的优化方法. 索引是什么:数据库中的索引类似于一本书的目录,在一本书中使用目录 ...
- SQL Server 数据库索引
原文:SQL Server 数据库索引 一.什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用[索引] 索引允许SQL Server在表中查找数据而不需要扫描整个表. 1.1.索引的好处: ...
- Sql Server数据库之存储过程
阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储过程 简单来说,存储过程就是一条或 ...
- 在易语言中调用MS SQL SERVER数据库存储过程方法总结
Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...
随机推荐
- backbond Model方法(set)
backbond的Model,其中存在一些操作属性的方法,而在这些方法中,最重要的就是set方法,其余的方法大部分都基于这个方法实现的,在backbond开发版中,也说了该方法是model中的核心方法 ...
- NGUI 做局部2d卷轴
网上找到的都是做整个背景的卷轴动画,通常是改变纹理位置或者背景图片的x坐标 没有提到在UI界面里某个部分做卷轴动画,找了很久,才发现NGUI的Panel里的Clipping属性可以裁剪Panel的大小 ...
- [android] 利用广播实现ip拨号
广播接收者,broadcast receiver,安卓系统在使用时会产生很多的事件,比如:短信到来,电量低,拨打电话等等 界面布局,线性布局,EditText指定为电话号码,设置属性android:i ...
- struts2_模型驱动
一.注意点 建立实现ModelDriven接口的action类 在该action类中,创建实体对象并new 在getModel返回该对象 在显示页面中提交的表单name正常写 二.案例 创建实体类Us ...
- Again Prime? No Time.(uva10870+数论)
Again Prime? No time.Input: standard inputOutput: standard outputTime Limit: 1 second The problem st ...
- linux下允许和禁止root远程登录的方法
1.vi /etc/ssh/sshd_config,将PermitRootLogin的值改成yes,并保存 PermitRootLogin yes 另外需要添加 AllowUsers root SA ...
- vue从入门到进阶:自定义指令directive,插件的封装以及混合mixins(七)
一.自定义指令directive 除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令.注意,在 Vue2.0 中,代码复用和抽象的主要形式是组件.然而,有的 ...
- RabbitMQ 环境搭建
安装基础环境 yum install net-tools yum install yum yum install gcc glibc-devel make ncurses-devel openssl- ...
- Simplest Python K-Way Merging Sort|最简单的Python k路归并排序
想做这个好长时间了,因为有一篇Dreamworks的论文<Coherent Out-of-Core Point-Based Global Illumination>提到了这个,一直没时间做 ...
- 虚拟现实的头戴式设备的视野(FOV)原理
本文原址https://www.cnblogs.com/zhangmiao14/p/5836664.html. 对于VR,它做得最好的就是它对生活的变化,有一些关键因素需要调整的恰如其分.如果做得正确 ...