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

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

或者说

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

...全文
382 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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语句
效率是一样的

但是物化视图就不一样了,相当于定时更新的临时表,
效率比一般视图高

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧