oracle的视图问题

cnlsq 2003-08-25 02:35:30
在oracle中我用一个视图联接查询了十二个表,每个将会有几十万份数据不知能否运行起来,
...全文
78 18 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianli6 2003-09-11
  • 打赏
  • 举报
回复
如果有十几张表,而且每张表又有几十万行的数据,那么在做的时候会非常慢,服务器可能会假死!
因为视图实际上是一个查询,而查询实际上要先生成所有表的笛卡尔积,自己算算吧!会有多少数据!建议是在不违背范式的情况下,适当的增加数据冗余,减少表的数量!
wangcm 2003-09-01
  • 打赏
  • 举报
回复
帮你up一下
horse_h 2003-08-29
  • 打赏
  • 举报
回复
up
cnlsq 2003-08-28
  • 打赏
  • 举报
回复
jerrymao(加菲猫) 说的临时表会提高速度吗?csuxiong(大熊) 说的中间表有没有试过,我问别人,别人怎说是一样的,我有点晕了?是不是要得新写程序了,
godofn 2003-08-27
  • 打赏
  • 举报
回复
建议新建立几张信息表,把你要的数据信息放到里面,在通过触发器对其他12张表进行操作,每次有新的数据就可以通过触发器来修改你建立的表,查询的时候查找你建立的表就行了,这样可以使大量的数据处理分散到平时的日常维护中去,查询的时候就可以缩短查询时间了。
yangqingdelphi 2003-08-27
  • 打赏
  • 举报
回复
这样子是不行的(江语)
第一思考:能否建表是增加允余从而提高查询.
(没有任何应用程序会以第三范式(Third Normal Form)运行)
--George Kock -Oracle完全参考手册
第二思考:建索引
第三思考:优化SQL语句

方法:写几个存储过程把一些公用的静态数据生成。然后用统计表联接
csuxiong 2003-08-27
  • 打赏
  • 举报
回复
试着建立一些中间视图,比如将12个表分三组,每4个表连接建一个中间视图,最后将生成的三个视图连接生成目标视图!
l2g32003 2003-08-26
  • 打赏
  • 举报
回复
联就联嘛
但视图会转换为select语句
可能执行效率不高 看看有没别的方法不联这么多的表
表的设计不可以改吗
纳米茶 2003-08-26
  • 打赏
  • 举报
回复
没有必要,可以建成一个只有这些字段的临时表,查询就简单了。
dreamnear 2003-08-26
  • 打赏
  • 举报
回复
楼上说错了,不是很慢是非常慢.有没有人算过几十万的12次方是多少啊??
cnlsq 2003-08-26
  • 打赏
  • 举报
回复
up一下
cnlsq 2003-08-26
  • 打赏
  • 举报
回复
表是原有的,改不了,因为其它程序不能改的,怎么办呢,到时能不能执行啊,我现在只有几百条数据大约是一秒钟不到,就怕到时运行不起来,因为现在没时间去再改了,但心里又有点担心,不知能不能跑得动,大家有没有这样试过?
yuxuan 2003-08-26
  • 打赏
  • 举报
回复
速度会很慢的
gladness 2003-08-26
  • 打赏
  • 举报
回复
还是应该测试一下的,不测试的话,很难说的
cnlsq 2003-08-25
  • 打赏
  • 举报
回复
怎么分啊,每个表的取值字段都不同,怎么加冗余字段啊,能不能说详细点
gladness 2003-08-25
  • 打赏
  • 举报
回复
这样不好,能不能分成几步,或者增加一些冗余字段?
cnlsq 2003-08-25
  • 打赏
  • 举报
回复
up一下
cnlsq 2003-08-25
  • 打赏
  • 举报
回复
大家帮帮忙啊!

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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