+ -
当前位置:首页 → 问答吧 → ORACLE数据库大表设计,是该一张表放很多列,还是分成几张表每张表的列都比较少?

ORACLE数据库大表设计,是该一张表放很多列,还是分成几张表每张表的列都比较少?

时间:2011-09-06

来源:互联网

公司要做一个项目要设计一张表。
表中存放的数据是ID号和这个ID号对应产品的测试数据。
其中测试项目可能会很多,也可能会很少,测试工站有十个,但是每个测试工站都会好几个测试的终端,但并不是所有产品都会测十个工站。
每个月的测试数据大概有100W左右。
现在两个表设计方案
方案一:设计一张表,表设计的设计很多列对应很多测试的项目(可能有200列左右)。这样的话十个工站的话第一个工站是插入,后面的工站都是更新。
方案二:每个测试工站设计一张表,这样的话就有十张表,每个表20列左右。每个工站插入对应的表,十个工站插入十张表。

我倾向于用方案一,在设计表的时候把PTCFREE参数预留的大一点。每个字段类型用VARCHAR2,这样的话,以后查询的话多表的话要用连接查询,一张表只要用索引扫描就好了。

其他同事倾向于方案二,认为分成多张表比较好,认为所有的测试工站去读写一张表和读写多张表效率会不一样,分成多张表处理效率上会很高,认为所有终端并发去读写一张表会有性能影响。

请高手帮忙分析下两个方案,并详细的说明下原因?

作者: c209zhanglin   发布时间: 2011-09-06

两个方法都不可取

一张主表
产品ID + 工站ID 做为主键
其他共性字段放主表

可补充其他扩展表(可能若干)非共性字段放扩展表

作者: dontworry   发布时间: 2011-09-06

作者: gongcheng28   发布时间: 2011-09-06

谢谢三楼!知道了!

作者: c209zhanglin   发布时间: 2011-09-06

热门下载

更多