无法对视图创建索引,因为该视图未绑定到架构

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

修改此问题 需要在 创建视图语句中加上 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

转载于:https://www.cnblogs.com/xuliangxing/p/7410735.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值