视图的优点与缺点

视图的优点

  一,视图着重于特定数据。
  视图可以让用户或者程序开发人员只看到他们所需要的数据,而不需要把表中的所有信息与字段暴露出来,这样增强了数据的安全性。
  二,简化数据的操作,易维护。
  我们可以将经常用到的多表联合查询出来的数据,或特定的结果集定义为视图,这样就起到了模块化数据的作用。我们在使用这些数据时直接查询该视图就可以,而不用到处写长长的SQL语句,这样也起到易维护的作用。
  三,视图可以限定查询数据。
  比如:对于不同的用户,我们只提供部分数据给他。这样,我们就可以在视图中限定结果集,然后返回该视图给他。这样,无论用户怎么对视图定义查询条件,他也不能查询出我们不想提供给他的数据。

视图的缺点

  虽然视图可以给我们带来种种便利,但不意味着我们就可以滥用它。因为视图其实就是一段SQL语句,所以它的结果都是每次调用时动态生成的。如果不合理的定义视图,必然带来性能上的损耗。
  下面是我们在创建视图应该要注意的几点:
  一,操作视图会比直接操作基础表要慢,所以我们尽量避免在大型表上创建视图。
  二,尽量不要创建嵌套视图,就是在视图中使用视图。 这样在查询时,会多次重复访问基础表,带来性能损耗。
  三,尽量在视图只返回所需的信息,尽量不要在视图使用不需要访问的表。
  四,在大型表或者复杂定义的视图,可以使用存储过程代替。
  五,频繁使用的视图,可以使用索引视图来代替。

索引视图的特点

  1,在索引视图中,不能使用*号,必具指定所有结果集中的列名。
  2,在索引视图中,所有用到的表前都必须加表所属的架构dbo。
  3,在索引视图中不能有重复的列(其实在普通视图中也有该限制)
  4,在索引视图中只能创建唯一聚集索引。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
视图(View)是一种虚拟的表,其内容由查询定义。在Oracle数据库中,视图有以下优点缺点优点: 1. 简化数据访问:视图可以隐藏底层表的细节,以简化对数据的访问。用户可以通过视图查询数据,而不必了解底层表的结构和复杂性。 2. 安全性:视图可以限制用户访问的数据,以提高数据的安全性。通过使用视图,管理员可以控制用户访问的数据的数量和类型。 3. 逻辑独立性:视图可以使应用程序与底层表的逻辑结构独立,以简化应用程序的开发和维护。 4. 性能优化:视图可以在底层表上创建索引,以提高查询性能。此外,通过使用视图可以减少数据冗余,提高查询效率。 缺点: 1. 性能问题:在某些情况下,视图可能会降低查询性能。因为视图是虚拟表,查询视图需要对底层表进行查询,这可能会增加查询操作的开销。 2. 数据一致性问题:如果底层表的数据发生更改,视图中的数据可能会失去一致性。这是因为视图是虚拟表,其内容由查询定义,而不是实际的数据。 3. 更新问题:某些视图是只读的,不能用于更新数据。即使可以使用视图更新数据,更新操作也可能会因为视图的复杂性而变得困难。 4. 复杂性问题:当视图的定义变得复杂时,它可能会变得难以理解和维护。此外,如果视图的定义依赖于其他视图,则可能会导致更大的复杂性和性能问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值