服务器配置:
1块普通7600转的硬盘
WINDOWS SERVER 2003,
SQL SERVER 2008
我自己想的数据库设计,为了查询效率高,基本不影响生产,数据库响应速度快:
方案1:
使用分区表,使用作业一天一分区,我从没用分区表

方案2:
使用普通表,建一个批次索引表存储此批次数据存储在哪得个表里获表名,然后去那个表里查询此批次的数据,每10个批次就重新建一个表,当新建的表存储满10个批次数据,又新建一个表,如此循环。
因为是生产环境,要做一个质量系统环环扣,上工位结论不合格下一个工位无法制作,每天插入100W条生产工位结论数据,
但是下一个工位又会去查询上一个工位的结论,理论上也就是也要查询100W次,此项目很重要的一环就是设计好数据库,项目还未开始,先上CSDN上请教各路做过大数据系统的大神如何设计数据库,我的方案是否可行?

------解决思路----------------------
建议分为生产表和历史表,
生产表只存当前生产中和最近几天的数据,生产完毕后定时转入历史表后删除.
这样设计使生产表的数据不会太大,不影响产线的插入和查询性能.
------解决思路----------------------
同意2楼的说法,既然是生产过程的管控,那么只会对在产品进行管控,而已完工的产品的数据,应移到历吏表中(此时用分区表)
------解决思路----------------------
你可以了解一下一般的生产系统是如何设计表的,同时,希望你详细叙述一下用户需求
------解决思路----------------------
主要矛盾实在读的话 ,先进行读写分离吧。
其他的插入也好,还是后期的 查询 100W次 的效率也好,都需要进行实际环境的测试,才好分析进行什么样的处理。
另外 ,插入的环节,lz最好进行前期的测试,100W次,如果仅仅是插入,其实压力不是很大。 关键点还是解决读的问题。横向分表,还是纵向分表,也还是需要结合具体的需求。光是纯理论的分离,未必在实际中可以有理想的效果。
针对硬件,如果可以的话,lz对硬盘这块进行一些适当的提升也会有帮助。
CPU和内存这块,lz也需要考虑结合操作系统进行一些改善,64位、多核啥的。
参考