zoukankan      html  css  js  c++  java
  • 数据库视图索引触发器

    一、视图
       视图一张虚表,它是来自一张表或是几张表,当然也可以来自其它的视图,而导出的一张虚表,其列为虚列;视图的数据随着关联的表的数据改变而变化。
       在RDBMS中,创建的视图并不会执行其select语句,而只是把其定义存放在数据字典中,我们可以通过select * from SYS.Views 来查看视图是什么时候的,如下:
      

    select * from SYS.Views  
    

     

    还可以通过:select * from SYS.OBJECTS where type='V' 来查看
    当我们对视图进行查询时,则执行视图,从表读取数据;视图的创建create view vw_whc as select语句,删出用drop view vw_whc,视图的更新是通过更新表而更新视图
    使用视图的作用:
      1)、视图能够简化用户的操作,2)、能以多角度看数据,3)、更清晰的查询数据,4)、避免了多次查询数据表
    二、索引
       创立索引是加快查询速度的有效方式,在查询时可以减不I/O的需求,索引有聚集索引和非聚集索引
       1、聚集索引:每一个表上只能有一个聚集索引,如主键,数据的在储存时,按照聚集索引的逻辑顺序存储,使用了一个双向链表的方式
       2、非聚集索引:在一个表上可以创立多个非聚集索引,其是用一个指针来指向其数据的存储
       索引的建立会在查询时改表其查询语句的执行计划,从而提高了查询速度,如下:
       (1)、创建索引:create index ix_whc on whc(DemoName)
        一般的查询(不带索引):select * from whc    


        索引查找:select * from whc with(index=ix_whc)


       
    在大数据量时,建立索引对于提交性能非常的重要。
    三、触发器
       触发器是用户定义在关系表上的一类由事件驱动的特殊过程,定义后,对表的操作会自动调用执行它,建立触发器create trigger tr_whc on whc for insert as 加上我们要做的处理
       如:
       

    create trigger tr_whc
       on whc for insert
       as
       begin
       select * from inserted
       print 'this is trigger'
       end
    

      创建了一个触发器,在插入时进行触发,插入时,有一张临时表inserted,在delete时也有一张临时表deleted,得到我们插入的数据,并打一印一句话,测试如下:
       insert into whc(DemoName,Mark) values('Name2','Mark2')       


    删出触发器drop trigger tr_whc
       最后说明一下就是,小弟初学者,那里有不对的,或理解不到位的,还请大家指出,感激不尽!!!!
       
         
     

  • 相关阅读:
    推荐系统入门笔记2--信息检索 Lucene
    Mybatis多个参数,其中有hashMap的写法
    Java中fastjson的toJSONString结果为空{}
    Linux中less命令出现ESC乱码
    关于博客
    【Uni-App】关于获取手机系统信息的项目实践
    mysql 服务列表找不到
    服务网格与Istio
    ARM架构服务器如何运行EasyNVR软件提示无法识别二进制文件排查及解决
    关于EasyNVR拉流摄像头的视频流存在视频流锁定机制的问题说明
  • 原文地址:https://www.cnblogs.com/xin_ny/p/sql_view_index_trigger.html
Copyright © 2011-2022 走看看