现状:比如现在有一百张表用来记录访问日志,一百张表为visit_00-visit_99,每张表的字段都一样,同样是用来保存访问日志的,表中有一字段为visitdate,用来记录访问时间。
问题:我的问题是怎样才能同时查询某一段时间的访问记录,而不用一张一张表的去查,比如我想查询2008-8-8到2009-9-9之间的访问记录。有什么好的办法吗?请教了……

解决方案 »

  1.   

    可以做一个试图
    里面包括
    visit_00到visit_99得union all另外为什么不用一个分区表里?
      

  2.   

    按你的说法,似乎每个表里面都有可能存在数据。
    建个视图吧,省得以后每次写sql都要搞一长串表名。
      

  3.   

    只能用 union all 了select * from (
     v1 union all 
      v2 union all 
     ...
      v100
    )
    where visitdate>...
      

  4.   


    create or replace view all_log as
     select * from visit_00 union all
     select * from visit_01 union all

     select * from visit_99;select * from all_log where xxxx = xxxx;