主要矛盾实在读的话 ,先进行读写分离吧。 
其他的插入也好,还是后期的 查询 100W次 的效率也好,都需要进行实际环境的测试,才好分析进行什么样的处理。另外 ,插入的环节,lz最好进行前期的测试,100W次,如果仅仅是插入,其实压力不是很大。 关键点还是解决读的问题。横向分表,还是纵向分表,也还是需要结合具体的需求。光是纯理论的分离,未必在实际中可以有理想的效果。 针对硬件,如果可以的话,lz对硬盘这块进行一些适当的提升也会有帮助。 
CPU和内存这块,lz也需要考虑结合操作系统进行一些改善,64位、多核啥的。参考 

解决方案 »

  1.   

    关键表:多个生产表(已批次命名)、历史表(以时间分区)、迁移信息表1、每个批次都自动建一个数据表,数据表的名字以批次号命名,数据表里存储本批次的相关数据。
    2、因为每个批次最后还有质量人工查询整个批次是否合格的数据、统计相关数据,在质量人工查询界面上做个按钮,如果质量人工按下这个按钮,那么这个批次就已经做完,然后这个标记批次信息存储到一个迁移信息表中。
    3、迁移信息表同时还记录每个批次的数据最后修改时间,做个软件(或者SQL SERVER的计划任务?)每天定时查询这个迁移信息表,这个批次的最后修改时间超过规定时间,或者这个批次已经被标记做完,那么就迁入到历史表中,并删除掉这个批次的表,同时如果迁移成功那么就删除掉这个迁移信息表中的数据。这样子就保证了表的数量,各个表的数据规模,是否可行。
    其实好像最后就是分了生产表和历史表~