union all效率低下,该用存储过程、视图、临时表哪种方法来解决?

babyface201008 2013-04-05 03:13:35
union all效率低下,大概union all数十张表,单表select仅需0.0003-0.002秒,但union all后需要0.6秒左右
想改善下效率

这种情况该用存储过程、视图、临时表哪种方法来解决?
...全文
488 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hi幸福来敲门 2013-04-07
  • 打赏
  • 举报
回复
helloyou0 2013-04-05
  • 打赏
  • 举报
回复
union all 之后还做了order之类? 要不不该差这么大啊
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
刚刚那7个表是接下来要做的几个功能的数据来源。 比如,有一个日记账的功能,这个功能就是要从刚刚那7个表中的记录搜索有“银行存款和现金”这两个科目存在的明细记录。要把有这两个存的的明细都抽出来,然后汇总显示。 第二个,明细账功能,这个也是要从刚刚那7个表中搜索除了“银行存款和现金”以外的所有科目存在的明细记录,汇总显示。 第三个,科目汇总表,这个是在一定时间范围内,所有凭证按科目汇总。 第四个,总分类账,就是显示每个科目发生的所有明细记录。 可能描述的不是很好。请见谅。
xuzuning 2013-04-05
  • 打赏
  • 举报
回复
愿意的话,你可以描述一下业务流程
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
引用 14 楼 xuzuning 的回复:
不必了吧?你不是说已经应用到一些功能上了吗?
就是各自的一个增删查改的功能。我不知道这样设计,以后会不会有其它不好处理的地方出现。
xuzuning 2013-04-05
  • 打赏
  • 举报
回复
不必了吧?你不是说已经应用到一些功能上了吗?
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
引用 11 楼 xuzuning 的回复:
你用 union 这不就对了! 这7个表是平行的,就算要连接也只能是 join
将1、2组表结构合并,3组表结构合并,这样合理么。
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
引用 10 楼 yua3891 的回复:
数据量有多大啊?要达到分表的情况下了。分表的话,这种水平分也不合理吧。
其实它们都是描述不同的东西。所以才分表的。 1.销售凭证、红字销售凭证 2.采购凭证、红字采购凭证 3.收款凭证、付款凭证、转账凭证。
xuzuning 2013-04-05
  • 打赏
  • 举报
回复
你用 union 这不就对了! 这7个表是平行的,就算要连接也只能是 join
yua3891 2013-04-05
  • 打赏
  • 举报
回复
数据量有多大啊?要达到分表的情况下了。分表的话,这种水平分也不合理吧。
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
1组和2组不同的字段是, 1组有‘销售单号、客户编码‘。 2组有 ’采购单号、供应商编码’。 1组和2组的表结构是这样,能合并成一个表吗?
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
补充一下,1组和2组各自内部的表结构是一样的。1组和2组之间只有一个字段不同。
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
你能说一下你的那些表的结构吗? 既然并不相同,那么叠加在一起的意义何在?
我刚刚查了一下,7个表,分别是 1.销售凭证、红字销售凭证 2.采购凭证、红字采购凭证 3.收款凭证、付款凭证、转账凭证。 其中1组和2组结构是一样的,1组和2组只有一个字段不同。 3组中的收款凭证和付款凭证也是只有一字段不同,转账凭证的结构则是被收款凭证和付款凭证所包含。
xuzuning 2013-04-05
  • 打赏
  • 举报
回复
你能说一下你的那些表的结构吗? 既然并不相同,那么叠加在一起的意义何在?
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
大家有没有好的办法。之前建立的那些表已经应用到一些功能上了。现在改也太大工程了。
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
组织合理就没有这种情况 你把同类数据垂直分配在数十个表中,就是不合理
这些表的结构不完全相同的。当时就是考虑到放在一张表会复杂。所以就分开了。不过后来发现要汇总时,问题就来了。
xuzuning 2013-04-05
  • 打赏
  • 举报
回复
组织合理就没有这种情况 你把同类数据垂直分配在数十个表中,就是不合理
babyface201008 2013-04-05
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
很明显,你的数据组织的不合理
难道从来不会有这种情况发生吗
xuzuning 2013-04-05
  • 打赏
  • 举报
回复
很明显,你的数据组织的不合理

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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