看你实际的应用了,如果你经常要从所有的数据中做一些检索的话,把表拆分开后做查询就会非常麻烦,如果某一阶段数据相对比较独立的话,也可以拆分,比如把某一年的数据存到一个表中,拆分的表不宜太多。既然结构都一样的,做成一个表存放大量的数据,建立适当的索引的话,应该还是比较方便快速的,不用考虑要从哪个表中取数据。我知道我用过的一个实际的informix数据库业务表中2,3千万条数据,建了适当的索引,做起一般的查询速度还是很快的,数据量大了,适当的索引是很重要的。记得以日期从那个业务表中查询的时候,因为日期没有索引的,查询某一天的记录很慢,而该库中还建立了一个表,用来存放每一天所做业务的起始ID和结束ID,其中的日期是有索引的,改成先从这个表中查出该日期的起始和结束ID,然后再从业务表中用between 起始ID and 结束ID,业务ID是建了索引的,查询起来就非常快,看上去似乎查询走了弯路,实际的效率却是这个走弯路的要远远高于直接从业务表中查询,罗嗦这么多,只是想说索引策略还是很中要的。个人意见,仅供参考。