例如,国内某大型保险公司,其有36家分公司,一年的保单明细表(f_policy)大概有2亿条记录,两年的数据超过4亿条,如果在f_policy上作一次查询,响应非常慢,可以考虑将f_policy按照机构拆分为36个同构的小表,在作整个保单明细表的查询时,可以使用union all操作合并数据,或者建立一个union all的视图,查询效率大大提高。并且,作这样的拆分非常有用,因为经常会有只查询某个分公司数据的需求。
例如上面我应该在不改变原来程序的情况下,如何进行更改查询方法,从查询一张表到一次性联合查询多张表?
那位大侠能指点一下
例如上面我应该在不改变原来程序的情况下,如何进行更改查询方法,从查询一张表到一次性联合查询多张表?
那位大侠能指点一下
如三个表tab1 tab2 tab3
(select x1,x2,x3 from tab1
union all
select x1,x2,x3 from tab2
union all
select x1,x2,x3 from tab3) tt
select * from
(
select * from tab1
union all
select * from tab2
union all
select * from tab3
) t