楼上说到关键了。如果分了表之后查询只是落到一个小表上,那么就好了。
可惜由于项目的实际状况,绝大多数情况是查询仍然需要落在所有的小表中,然后再来个排序之类的,效率上会不会有问题呢?
具个别人在论坛上提的一个简单查询的例子:
select * from (
     select vid,vname,vcountry from t1
     union all
     select vid,vname,vcountry from t2
     union all
     select vid,vname,vcountry from t3
     ......
   ) where vname='Jones'
相对于一般的应用,这每一个小表也是具有相对规模的,利用union 和嵌套,在数据库查询时的负载、查询时间等方面,和只使用一个大表相比有那些优缺点呢?

解决方案 »

  1.   

    问个问题,对于多个完全相同结构的多表的简单聚合查询,是否可以使用:
    select vid,vname,vcountry from table1,table2,table3
    这种语句?有这样的用法么?另外,是否可以使用:
    select vid,vname,vcountry from table1,table2,table3 order by vid
    这样的语句呢?
      

  2.   

    直接使用分区表阿
    oracle都帮你考虑好了。