一个系统中数据量很庞大,所以考虑同样的数据分很多同样表结构的表来存放(实际上一张表也一样)
所以在需要的时候,要将不同的表union/union all拼接在一起
问题:假如现在分10个表存放数据,每个表中有1万数和每个表有10万数据在用union all的时候效率会不会有很大的区别.
                              每个表中有1万数和每个表有10万数据在用union的时候效率会不会有很大的区别.
如果效率是有很大的区别,请问有什么好的方式解决?谢谢!

解决方案 »

  1.   

    这样的话,还是用union all比union效率高些。
      

  2.   

    union all 肯定快不少,数据量越大优势越明显
      

  3.   

    SQL优化中有一条:尽量用union all,而union是在查询完后筛除重复记录后才显示出来;
    所以速度慢了很多
      

  4.   

    支持,Oracle分区技术也刚刚好解决你这个问题,目前一些大型的数据库,都采用分区的形式来存放庞大庞大的数据.使用按分区进行DML操作,比起UNION要好很多.