zoukankan      html  css  js  c++  java
  • SQL Server中视图的特点与优化

    在SQL SERVER中的使用过程中,视图是我们不可避免要经常使用到的。那到底什么是视图呢?概括的讲,视图就是用户自己写的一段SQL语句。我们为该段SQL语句起一个名字,就称为视图名,以后想要利用该段SQL语句返回的结果集时,只要像查询表一样针对视图名写SQL语句就可以了,所以,你也可以把视图想像为一个虚拟表。

    下面,我们讲解一个视图的创建与使用:

    一,创建视图:

    create view v_viewname as select * from table1

    其中view为视图关键词,v_viewname为我们创建的视图名,select * from table1为该视图返回的结果集.

    二,调用视图:与查询表一样

    select * from v_viewname

    三,删除视图:

    drop view v_viewname

    从上面的操作我们可以看出,视图创建好后,对它的操作,就和操作实体表一样。

    视图的特点: 一,视图着重于特定数据。 视图可以让用户或者程序开发人员只看到他们所需要的数据,而不需要把表中的所有信息与字段暴露出来,这样增强了数据的安全性。

    二,简化数据的操作,易维护。 我们可以将经常用到的多表联合查询出来的数据,或特定的结果集定义为视图,这样就起到了模块化数据的作用。我们在使用这些数据时直接查询该视图就可以,而不用到处写长长的SQL语句,这样也起到易维护的作用。

    三,视图可以限定查询数据。 比如:对于不同的用户,我们只提供部分数据给他。这样,我们就可以在视图中限定结果集,然后返回该视图给他。这样,无论用户怎么对视图定义查询条件,他也不能查询出我们不想提供给他的数据。

    视图的优化: 虽然视图可以给我们带来种种便利,但不意味着我们就可以滥用它。因为视图其实就是一段SQL语句,所以它的结果都是每次调用时动态生成的。如果不合理的定义视图,必然带来性能上的损耗。

    下面是我们在创建视图应该要注意的几点: 一,操作视图会比直接操作基础表要慢,所以我们尽量避免在大型表上创建视图。

    二,尽量不要创建嵌套视图,就是在视图中使用视图。 这样在查询时,会多次重复访问基础表,带来性能损耗。

    三,尽量在视图只返回所需的信息,尽量不要在视图使用不需要访问的表。

    四,在大型表或者复杂定义的视图,可以使用存储过程代替。

    五,频繁使用的视图,可以使用索引视图来代替。

  • 相关阅读:
    angluar 判断后跳转加参数
    angular 返回上一页
    angular 组件跳转组件 并传参数
    angluar 表单提交时候报错
    angular 中获取select选中的值
    javascript
    将数据渲染到页面的方式:模版
    将数据渲染到页面的几种方式
    跨域
    ajax
  • 原文地址:https://www.cnblogs.com/zxktxj/p/2546677.html
Copyright © 2011-2022 走看看