zoukankan      html  css  js  c++  java
  • 视图


    大家应用视图无疑是简化了SQL查询,由于视图的重用性类似于自定义函数,所以很多人相对喜欢应用视图,但是应用视图简化了SQL却没有任何执行性能的提升,而且还带来维护。

    于是大家又开始研究索引视图的可用性了。

    个人把视图理解编译过的SQL执行计划,索引视图为实物化的类表,还包含索引结构。
    就如大家理解表的索引一样,索引视图同样会提升查询效率,但是索引维护、数据写等代价也随之增加。

    创建索引视图
    1、选项设置:
        SET ANSI_NULLS,ANSI_PADDING,ANSI_WARNINGS,CONCAT_NULL_YIELDS_NULL,ARITHABORT,QUOTED_IDENTIFIER ON
        GO
        SET NUMERIC_ROUNDABORT OFF
        GO
    2、绑定架构选项(WITH SCHEMABINDING)
        CREATE VIEW dbo.VIEW_Pqs     WITH SCHEMABINDING
        AS
           select .....
        GO
    3、设置唯一的聚集索引
         CREATE  UNIQUE  CLUSTERED  INDEX [IDX_VIEW_Pqs] ON [dbo].[VIEW_PQS]([S_id]) ON [PRIMARY] GO

    4、至于SQL的语法有一些限制,比如不能用count(*)之类的(用count_big(*)替换) 。可以查看帮助文档

    5、对于索引视图应用到的基表,可能会有数据写错误。
        基本上可以execute sp_dboption 'dbname','ARITHABORT' ,'true'即可(就是修改数据库选项set ARITHABORT on即可)
        当然是对于设置好后新创建的数据写是没有问题的,对于原来已有的需要重新设置选项并编译。

    --*******************************************************************************************************
    SET选项            要求的值     默认服务器的值     OLE DB和ODBC的值     DB LIB的值
    ANSI_NULLS         ON         OFF         ON             OFF
    ANSI_PADDING         ON         ON         ON             OFF
    ANSI_WARNINGS         ON         OFF         ON             OFF
    ARITHABORT         ON         OFF         OFF             OFF
    CONCAT_NULL_YIELDS_NULL ON         OFF         ON             OFF
    NUMERIC_ROUNDABORT     OFF         OFF         OFF             OFF
    QUOTED_IDENTIFIER     ON         OFF         ON             OFF 



  • 相关阅读:
    初学node.js,安装nodemon,学习debug模式,安装cpu-stat
    当离开浏览器窗口,提示语title更改
    构建react项目失败解决办法
    vue 安装cli3.0版本,创建项目
    上传js,js修改html
    上传图片
    css3 伸缩百分比的调整
    css3 伸缩布局 display:flex等
    解决HTML5提出的新的元素不被IE6-8识别的解决办法
    web前端,多语言切换,data-localize,
  • 原文地址:https://www.cnblogs.com/piaoqingsong/p/790752.html
Copyright © 2011-2022 走看看