sql server中,索引和视图的区别

sql server中,索引和视图的区别,第1张

视图:

就是一张虚拟表,视图就是一个子查询!实际当中的数据依然存在实际的表里面,只不过取的时候是根据这个视图(也就是这个子查询)从实际当中的表里面取出来

优点:简化查询

缺点:你建视图建多了,如果这表结构突然改了,那么你视图也要跟着改!增加了你维护的支出!所以建的view越多,维护起来越麻烦

除了简化查询以外,视图还有其他功能:

比如你有一张表,里面有很多数据,这些数据有些是你想给别人看,但是有些是秘密不想给人看,那么你就可以建立视图,然后把视图的权限给他,这样就保护了自己的私有数据。

索引

索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需的数据。当进行数据检索时,系统先搜索索引,从中找到数据的指针,再直接通过指针从表中取数据!

优点:查询快

缺点:

1)占用存储空间

2)在表中执行insert、delete、update *** 作时,将有额外的 *** 作来维护索引

3)过多的索引起反作用

注意:

1)如果给表中某字段加了 主键约束 或是 唯一约束 ,这时会自动帮你 建立对应这个字段的 唯一索引

2)索引不要轻易的建立

差不多了

这样一来,可从索引视图检索数据而无需重新编码,由此带来的高效率也使现有查询获益。在视图上创建的第一个索引必须是唯一聚集索引。在创建唯一聚集索引后,可创建其它非聚集索引。视图上的索引命名规则与表上的索引命名规则相同。唯一区别是表名由视图名替换。(Sql

Server联机帮助)

语句:Create

VIEW

vXXX

WITH

SCHEMABINDING

AS……

Create

UNIQUE

CLUSTERED

INDEX

idxXXX

ON

vXXX(cXXX)

一个标准视图转换为一个索引视图必须遵守以下规则:

A.视图必须使用With

Schemabinding选项来创建;

如果创建视图时没有with

Schemabinding,试图创建视图时就会报错:……因为该视图未绑定到架构

以上就是关于sql server中,索引和视图的区别全部的内容,包括:sql server中,索引和视图的区别、sql 如何使用索引视图、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9269256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存