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

  • 相关阅读:
    slf4j日志框架绑定机制
    Btrace使用入门
    JVM反调调用优化,导致发生大量异常时log4j2线程阻塞
    [转载]Javassist 使用指南(三)
    [转载]Javassist 使用指南(二)
    [转载]Javassist 使用指南(一)
    数组升序排序的方法Arrays.sort();的应用
    copyOfRange的应用
    copyOf数组复制方法的使用(数组扩容练习)
    binarySearch(int[] a,int fromIndex,int toIndex, int key)的用法
  • 原文地址:https://www.cnblogs.com/L2366/p/9138129.html
Copyright © 2020-2023  润新知