我有一个库,用做客运管理的,存放车辆行车数据的表是每天生成一个格式是:bus_run20130101,数字代表的日期
能不能用视图或者其他功能,把这些表关联起来,取个名字叫bus_run
我写语句的时候直接select * from bus_run
这样就能指定日期范围查询
不知道可不可以,请高手给指点指点

解决方案 »

  1.   

    create view bus_run
    as 
    select *
    from bus_run20130101
    union all
    select *
    from bus_run20130102
    后面填上不过按天分表貌似太多表了,越到后面速度越慢
      

  2.   

    可以的,类似这样:create view dbo.bus_run
    asselect * from bus_run20130101 
    union all
    select * from bus_run20130102
    union all
    select * from bus_run20130103
    go
      

  3.   

    但是这样的话,你每天都要重新生成视图,因为按照你说的,每天都会有一个新的表。比较好的办法,是你可以考虑建一个按月的分区表,这样就不用union all来合并N个表了,因为随着合并的表的个数的增长,性能也会下降。