写成视图还是存储过程的效率高?

oldbee01 2008-10-09 02:29:25
有这样一张报表,三张表a、b、c结构相同需要 ,三表需要union操作,其中每张表都有一些查询限定条件,然后三张表union完了以后,还需要与其他代码表作联合查询一遍显示中文内容,请问我是把union以及同代码表的联合查询做成视图然后在需要时加查询条件好呢还是做成带参数的存储过程好?
...全文
121 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiujian_bit 2008-10-11
  • 打赏
  • 举报
回复
不知道表中的数据量的大小
如果数据量大,还是做成过程比较好,日常好扩展
我感觉视图性能不太好
codearts 2008-10-10
  • 打赏
  • 举报
回复
with x as (
select * from a
union all
select * from b
union all
select * from c
)
select *
from x, d
where ...
suhaibolove 2008-10-10
  • 打赏
  • 举报
回复
建议写成过程,这样的效率更高一点,
表中的数据多的时候,这样子的查询优势就能显示出来,
毕竟在oracle中过程比试图的效率高,
如果不太复杂而且数据量少,那么就用视图,方便简洁
sleepzzzzz 2008-10-09
  • 打赏
  • 举报
回复
复杂的语句,使用procedure才突显优势,因为数据库服务事先为能为你要执行的sql编译好.
rexyudl 2008-10-09
  • 打赏
  • 举报
回复
视图就成,效率应该没有什么大差别!
oracledbalgtu 2008-10-09
  • 打赏
  • 举报
回复
做成view会方便些.
效率方面,如果语句不很复杂,也差不多.


[Quote=引用楼主 oldbee01 的帖子:]
有这样一张报表,三张表a、b、c结构相同需要 ,三表需要union操作,其中每张表都有一些查询限定条件,然后三张表union完了以后,还需要与其他代码表作联合查询一遍显示中文内容,请问我是把union以及同代码表的联合查询做成视图然后在需要时加查询条件好呢还是做成带参数的存储过程好?
[/Quote]

17,086

社区成员

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

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