1,
http://www.iteye.com/post/423268
把一个表分成N张相同的表是为了加速查询速度吧.
1,用数据库级的表分区, 把数据分在不同 的PV上. 增加IO性能. (Oracle, DB2都有实现)
2,如果是DB2还有另一种方案, 做数据库的Partition, 把数据散列到不同的单独节点供查询使用. 但这种方法只适合OLAP(虽然OLTP也有相应解决方案,但效果不佳).
3,楼上说的, 做视图, 但这种方法把动态表合在一起性能也是一件很郁闷的事情.
4,做物化视图, 比动态视图访问数据的能力强些, 但数据冗余量又太大.
还有, 您什么样的应用会一下查询那么多的数据量? 一定是个OLAP业务吧, 如果是, 尽量把它当做数据中心, 在它之上做个数据准备区保障时间维度一制性, 按业务做不同业务的数据集市供业务访问. 那样各个数据集市的数据压力会小些. 数据查询统计的压力全部移到数据准备区中.
把一个表分成N张相同的表是为了加速查询速度吧.
1,用数据库级的表分区, 把数据分在不同 的PV上. 增加IO性能. (Oracle, DB2都有实现)
2,如果是DB2还有另一种方案, 做数据库的Partition, 把数据散列到不同的单独节点供查询使用. 但这种方法只适合OLAP(虽然OLTP也有相应解决方案,但效果不佳).
3,楼上说的, 做视图, 但这种方法把动态表合在一起性能也是一件很郁闷的事情.
4,做物化视图, 比动态视图访问数据的能力强些, 但数据冗余量又太大.
还有, 您什么样的应用会一下查询那么多的数据量? 一定是个OLAP业务吧, 如果是, 尽量把它当做数据中心, 在它之上做个数据准备区保障时间维度一制性, 按业务做不同业务的数据集市供业务访问. 那样各个数据集市的数据压力会小些. 数据查询统计的压力全部移到数据准备区中.