我现在要对多个数据库表进行分页查询。按按照网上的语句去查,单表速度还可以, 
但多表联合时,就奇慢。指点下 谢谢
我的语句是这样的 
String   sql="SELECT   id,webtittle   FROM   "   + 
                                    "(SELECT   ROWNUM   r,id,webtittle     From(select   *   From   pic200704     union"   + 
                "   select   *   From   pic200703   )   k   where   ROWNUM <10)   "   + 
                "   where   r> 1";

解决方案 »

  1.   

    首先任何情况下都应当避免select * from..的形式,需要几个字段就写几个字段
    其次子查询和union一多,效率是没法提高的,可以试试看用视图的方式实现
    如果是动态的表,用oracle的话可以考虑用数据表本身的分区功能,而不要自行分成多个表
      

  2.   

    分区? partition . 你不需要弄太清楚,而且这个功能很贵哦20-40万/CPU吧。 在单表数据量不到千万级,影响不大!
    顺便顶一下1楼的。