请大家讨论一下视图的工作原理

adwork 2003-11-20 03:24:31
视图存储在数据库中,当在前端开发时,如果只检索该视视图的一行数据,如AA = '22222',是对视图检索速度快还是直接在前端对表A,B,C,D构建SQL语句快。

或者说

当对视图检索时,是先根据构建视图的所有源(表等)中的数据构建出来视图进行检索还是只对符合WHERE条件的数据构建视图。
比如一个视图所有的数据为100万行,但只检索1行。那么,是先构建出来这100万行,然后取其中的1行,还是只构建这1行?

...全文
359 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bunnysky 2003-11-25
up
  • 打赏
  • 举报
回复
chanet 2003-11-22
在开发工具里,直接调用表(或视图)比一句句 Sql语句 方便.但不灵活. :-(

主要看开发时的需要和开发者的个人喜好。
  • 打赏
  • 举报
回复
chanet 2003-11-22
视图已经在库里建好 比 另外用程序再查询 的好
  • 打赏
  • 举报
回复
shuipipi 2003-11-22
阿认为,利用视图不能从根本上提高SQL查询的效率;不过,视图是已经编译好的ORACLE内部对象,就像宇轩所说的,阿想,视图应该解约了对SQL语句分析的时间吧~
  • 打赏
  • 举报
回复
yuxuan 2003-11-21
我觉得视图可能好一些,最起码减少了编译分析的时间
  • 打赏
  • 举报
回复
adwork 2003-11-20
这样说来,传过去一个VIEW和传一条SQL语句相同了?

印象里,在前端检索里,只从数据库里提取需要的表的行,然后对这些行再进行连接

再有就是:是否应该建立大量的视图,因为感觉到有这个必要,特别是用PB开发的时候
  • 打赏
  • 举报
回复
sunnyheart 2003-11-20
是先构建100万行。view就是间接的去执行SQL语句,是没有对应的数据存在的。
  • 打赏
  • 举报
回复
beckhambobo 2003-11-20
估计先构建成100万行
因为视图与sql同等作用,没有效率快慢之分
  • 打赏
  • 举报
回复
bzszp 2003-11-20
视图跟sql语句是一样的效果
查询的时候,都是执行了同样的sql语句
效率是一样的

但是物化视图就不一样了,相当于定时更新的临时表,
效率比一般视图高
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle

1.6w+

社区成员

Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2003-11-20 03:24
社区公告
暂无公告