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 ...
随机推荐
- Jenkins结合.net平台工具之Opencover
首先先介绍一下Opencover是什么,Opencover是.net平台下用于生成单元测试覆盖率报告的一款软件,是.net平台下为数不多的一款免费覆盖率报告工具,类似的工具还有Jetbrains的do ...
- [转]Docker版本变化和新版安装
本文转自:http://www.cnblogs.com/Peter2014/p/7704306.html Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版 ...
- C#操作DbConnection类
一.常用属性 名称 说明 ConnectionString 获取或设置用于打开数据库的字符串.(重写 DbConnection.ConnectionString) ConnectionTimeout ...
- C# Json反序列化
Json反序列化有两种方式[本人],一种是生成实体的,方便处理大量数据,复杂度稍高,一种是用匿名类写,方便读取数据,较为简单. 使用了Newtonsoft.Json,可以自行在nuget中导入 Jso ...
- 新浪微博登陆以及发送微博(附python源码)
原文链接(本人):https://blog.csdn.net/A5878989/article/details/76275855 说明 本文主要记录分析新浪微博登陆以及发送文字和图片微博的详细过程 分 ...
- wp rest api 授权方法步骤(使用JWT Authentication插件)
环境:wordpress 4.7 以上,WP自带的 rest api v2 目标:使用javascript与wp rest api交互,其中编辑.新增.删除等需要Oauth认证授权 方法: 步骤一: ...
- 05-HTML-超链接标签
<html> <head> <title>超链接标签学习</title> <meta charset="utf-8"/&g ...
- 洛谷P3247 [HNOI2016]最小公倍数(分块 带撤销加权并查集)
题意 题目链接 给出一张带权无向图,每次询问\((u, v)\)之间是否存在一条路径满足\(max(a) = A, max(b) = B\) Sol 这题居然是分块..想不到想不到..做这题的心路历程 ...
- Java NIO 学习
Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(B ...
- socket和http的区别
1.HTTP连接 HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用 ...