(07) 视图上面堆视图

原创 2013年12月04日 15:41:07
      视图(我这里说的是非物化视图)这东东好处之一是把一些复杂的东东隐藏起来了. 开发在使用时,不必关心内部的一些逻辑,直接拿来用就行了. 而且视图不占空间,不影响基表本身的性能.
       但在项目开发时常被滥用了. 滥用的原因之一是开发贪图省事,喜欢拿现成的视图再和其它表或视图关联. 视图上面叠视图.他们是做出东西来. 可苦了DBA.
1.性能不可控
 关联太多,肯定会影响查询性能.
2.表关联和业务逻辑复杂
 面对视图套视图, 面对十几二十个基表,长长的甚至超四五百行的执行计划.
 你需要理清楚表关联和业务逻辑.确保找出好的执行计划.可不是个轻松活.
3.视图的可修改性很难确定.
    当你好不容易理清并有把握调出最好的效果,并且保证逻辑是正确的.这时,你基本上需要调整构成视图的sql,但你怎么能保证这个视图在前台业务逻辑是怎么使用的?另外的地方有没被调用呢?
    你能确定你的更改不会影响它们吗?
    你又会面临我是不是要另存一份,弄个新的来代替它们? 那有没可能会留下一堆可能在某个地方用的也有可能在其它地方没用到过的视图?
    所以真要动手有时是很难的.
   因此我通常会在项目中不赞成这种视图的堆积.如果确实有需要,视图的逻辑层次和功能一定要标注清楚. 同时为了简单,尽量在表设计合理性方面下功夫. 防止太过复杂的关联出现. 
要以简单为妙.

版权声明:本文为博主原创文章,未经博主允许不得转载。

IOS学习之——表视图4 给tableViewController添加悬浮窗口

前言 在IOS中,UITableViewController不如UIViewController用的方便,遇到了一个需求:在TableView中添加一个悬浮按钮,不随TableView滑动而滑动。这个...
  • zhenggaoxing
  • zhenggaoxing
  • 2015年04月03日 17:30
  • 3710

Oracle——07视图

视图是从一个表或视图导出的表,也可以是从多个表或视图导出的表。视图是一个虚表,数据库不对视图所对应的数据进行实际存储,只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基...
  • zylzb
  • zylzb
  • 2014年10月27日 17:33
  • 298

MySql视图原理讲解与使用大全

摘要:本文主要讲了MySql中视图的定义、原理和如何使用、创建、删除等
  • Evankaka
  • Evankaka
  • 2015年07月31日 16:58
  • 5134

视图是什么?用视图的好处?

一开始总觉得视图听起来名字高大上,像我这种屌丝一看就头疼,然后现在用了一些视图,感觉也不过如此吧!一般项目而言,会有各种各样的表,但有时候你需要的一些数据不只在一张上面,这时候你就会很蛋疼,当你接触视...
  • ganggetwo
  • ganggetwo
  • 2015年06月10日 13:34
  • 5116

数据库的视图和索引的概念和区别

一、视图 1、什么是视图: 视图是从一个或多个表中导出来的表,是一种不是一种真正存在的概念。 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。 这样,用户可以不用看到整个数据库...
  • u014698348
  • u014698348
  • 2016年07月19日 15:39
  • 5937

关于SQL视图的创建和使用方法

SQL视图的创建和使用 视图这个东西在其他的软件中,我们也经常看得到,例如word中就有视图,我们不难发现,视图似乎是一种显示方式,就像WORD一样,有几种显示版面,这就是视图,那么SQL中的视图又...
  • lefter1986
  • lefter1986
  • 2013年09月03日 14:29
  • 50606

视图的优缺点

一:视图的简介     视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用...
  • javajxz008
  • javajxz008
  • 2016年02月23日 09:53
  • 1684

第十章——维护索引(7)——使用索引视图提高性能

前言:视图是一个包含了一个或多个表的数据列的虚拟表。通常情况下,它仅仅是存储了查询的对象,一个视图可以当作一个表,可以用于存储过程、JOIN、用户自定义函数等等。视图包含了下面两个主要特性:1、 提供...
  • DBA_Huangzj
  • DBA_Huangzj
  • 2013年05月16日 21:28
  • 6389

hibernate操作视图

三张表的SQL: CREATE TABLE TB_COURSE ( ID INTEGER PRIMARY KEY, NAME VARCHAR2(20) NOT NULL ); CREA...
  • feier7501
  • feier7501
  • 2014年01月26日 21:35
  • 909

视图和视图解析器

1 从上图可以看出,无论返回的是String对象、ModelAndView对象还是View对象,SpringMVC最后都会转换成ModelAndView对象 ...
  • woshisap
  • woshisap
  • 2015年04月01日 22:35
  • 1344
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(07) 视图上面堆视图
举报原因:
原因补充:

(最多只允许输入30个字)