zoukankan      html  css  js  c++  java
  • 无法对视图创建索引,因为该视图未绑定到架构

      最近在对视图进行优化的时候,之前的查询效率不理想,所有想给视图添加索引,提供查询效率,遇到这个问题,查了一位博主的文章,但是说的不是很详细,在这里说明白一些。

    修改此问题 需要在 创建视图语句中加上 with SCHEMABINDING

    --创建索引视图 create view 视图名 with schemabinding as select 语句 go
    --创建索引视图需要注意的几点
    --创建索引视图

    1 create view 视图名 with schemabinding 
    2 as
    3 select 语句
    4 go

    ---创建索引视图需要注意的几点

    1. 创建索引视图的时候需要指定表所属的架构

    --错误写法

    1 create view v_f with schemabinding 
    2 as
    3 select
    4    a.a,a.b,b.a,b.b
    5 from
    6    a join b 
    7 on
    8    a.id=b.id
    9 go

    ---正确写法:

    1 create view v_f with schemabinding 
    2 as
    3 select
    4    a.a,a.b,b.a,b.b
    5 from
    6    dbo.a join dbo.b 
    7 on
    8    a.id=b.id
    9 go

    2.在创建索引视图的select语句时,不使用*,必须指定具体的列名
    --错误写法

    1 create view v_f with schemabinding 
    2 as
    3 select
    4    *
    5 from
    6    dbo.a join dbo.b 
    7 on
    8    a.id=b.id
    9 go

    ---正确写法

    1 create view v_f with schemabinding 
    2 as
    3 select
    4    a.a,a.b,b.a,b.b
    5 from
    6    dbo.a join dbo.b 
    7 on
    8    a.id=b.id
    9 go

    3.在创建索引视图的select 语句中,不能存在重复的列名,这个不举例了

    4. 只能为索引视图创建唯一聚集索引

    --错误的写法

    1 create clustered index ix_uniquetb on v_tb
    2 go

    --正确的写法

    1 create unique clustered index ix_uniquetb on v_tb
    2 go

  • 相关阅读:
    Python之os模块
    Python之加密模块
    Python之random模块
    Python之操作MySQL数据库
    Python之操作Excel
    Jmeter之发送请求入参必须使用编码格式、Jmeter之发送Delete请求可能入参需要使用编码格式
    PAT B1008 数组元素循环右移问题 (20 分)
    PAT B1007 素数对猜想 (20 分)
    PAT B1006 换个格式输出整数 (15 分)
    PAT B1005 继续(3n+1)猜想 (25 分)
  • 原文地址:https://www.cnblogs.com/xuliangxing/p/7410735.html
Copyright © 2011-2022 走看看