视图索引

时间:2024-10-01 06:29:57编辑:分享君

如何利用索引和视图

1.运用Microsoft SQL Server 2000的查询分析器和企业管理器来实现视图的创建,查询,修改

2.视图是一个虚拟的表,其数据不是单独存储在数据库内的,而是仍存储在基本表中,只有当对建立的视图进行查询时才从基本表中选择符合条件的数据,显示出来其他的数据,用户是看不到的。这很好地构建了一个保护数据安全性的机制。

3.视图的内容是select语句的结果集。

4.对视图的查询没有任何限制,而对视图进行数据更新则受到完整性约束条件的限制,鉴于视图是不实际存储的虚表,因此对视图的更新,最终要转换为对基本表的更新操作,所以增删数据时,必须符合所引用的基本表上的约束条件。

5.SQL的语言是一种非规范化的语言,操作简单方便明了,功能强大。其面向集合的操作方式可以大大地简化了我们对数据进行的各种操作流程。


具体的你可以上网查一下数据库的一个实验课题《视图的使用》,会有不同的例子的,希望可以帮到你!


能否在已有的视图上建立索引?

1.必须使用 SCHEMABINDING 定义视图才能在视图上创建索引。视图定义也必须具有确定性。2.如果选择列表中的所有表达式、WHERE 和 GROUP BY 子句都具有确定性,则视图也具有确定性。而且,所有键列必须是精确的。只有视图的非键列可能包含浮点表达式(使用 float 数据类型的表达式),而且 float 表达式不能在视图定义的其它任何位置使用。3.若要在确定性视图中查找列,请使用 COLUMNPROPERTY 函数(IsDeterministic 属性)。该函数的 IsPrecise 属性可用来确定键列是否精确。4.必须先为视图创建唯一的聚集索引,才能为该视图创建非聚集索引。5.指定 SCHEMABINDING 时,select_statement 必须包含所引用的表、视图或用户定义函数的两部分名称 (owner.object)。6.不能除去参与用架构绑定子句创建的视图中的表或视图,除非该视图已被除去或更改,不再具有架构绑定。否则,SQL Server 会产生错误。另外,如果对参与具有架构绑定的视图的表执行 ALTER TABLE 语句,而这些语句又会影响该架构绑定视图的定义,则这些语句将会失败。


sql server 2005中的索引,视图有什么用

索引是为了提升数据查询性能,视图一般用于给用户提供一个统一的接口而屏蔽掉无用或需要保密的信息。一般来说,如果数据量不是太大,比如只有几万条记录,不需要建索引,索引本身也是一种数据,系统为了维护索引,是需要开销的。如果数据量非常大,就一定会用到索引技术。比如上百万、几千万的数据量。此时如果在数据表上没有索引,数据查询会非常慢。索引其实就是预先给数据排序,比如身份证号,如果在这个字段上有索引,那么从大到小都已经有序了,需要查询某一个号码,系统可以很快检索到对应的数据。在数据库中,不是每一个级别的用户都需要全部信息,在某些时候,有些敏感的信息甚至只能给具有合适权限的人员,即便用户进入了数据库(不是指的程序界面检索,而是直接进入了数据库管理系统),也不可以让他查看全部信息,此时就可以用视图的方法,让用户只能查看他应该看的信息,真正的基础表屏蔽起来。


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

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

优点:简化查询

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

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

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

优点:查询快

缺点:
1)占用存储空间
2)在表中执行insert、delete、update操作时,将有额外的操作来维护索引
3)过多的索引起反作用

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

差不多了... ...


上一篇:男模潜规则

下一篇:没有了