ORACLE数据库大表设计,是该一张表放很多列,还是分成几张表每张表的列都比较少?
时间:2011-09-06
来源:互联网
公司要做一个项目要设计一张表。
表中存放的数据是ID号和这个ID号对应产品的测试数据。
其中测试项目可能会很多,也可能会很少,测试工站有十个,但是每个测试工站都会好几个测试的终端,但并不是所有产品都会测十个工站。
每个月的测试数据大概有100W左右。
现在两个表设计方案
方案一:设计一张表,表设计的设计很多列对应很多测试的项目(可能有200列左右)。这样的话十个工站的话第一个工站是插入,后面的工站都是更新。
方案二:每个测试工站设计一张表,这样的话就有十张表,每个表20列左右。每个工站插入对应的表,十个工站插入十张表。
我倾向于用方案一,在设计表的时候把PTCFREE参数预留的大一点。每个字段类型用VARCHAR2,这样的话,以后查询的话多表的话要用连接查询,一张表只要用索引扫描就好了。
其他同事倾向于方案二,认为分成多张表比较好,认为所有的测试工站去读写一张表和读写多张表效率会不一样,分成多张表处理效率上会很高,认为所有终端并发去读写一张表会有性能影响。
请高手帮忙分析下两个方案,并详细的说明下原因?
表中存放的数据是ID号和这个ID号对应产品的测试数据。
其中测试项目可能会很多,也可能会很少,测试工站有十个,但是每个测试工站都会好几个测试的终端,但并不是所有产品都会测十个工站。
每个月的测试数据大概有100W左右。
现在两个表设计方案
方案一:设计一张表,表设计的设计很多列对应很多测试的项目(可能有200列左右)。这样的话十个工站的话第一个工站是插入,后面的工站都是更新。
方案二:每个测试工站设计一张表,这样的话就有十张表,每个表20列左右。每个工站插入对应的表,十个工站插入十张表。
我倾向于用方案一,在设计表的时候把PTCFREE参数预留的大一点。每个字段类型用VARCHAR2,这样的话,以后查询的话多表的话要用连接查询,一张表只要用索引扫描就好了。
其他同事倾向于方案二,认为分成多张表比较好,认为所有的测试工站去读写一张表和读写多张表效率会不一样,分成多张表处理效率上会很高,认为所有终端并发去读写一张表会有性能影响。
请高手帮忙分析下两个方案,并详细的说明下原因?
作者: c209zhanglin 发布时间: 2011-09-06
两个方法都不可取
一张主表
产品ID + 工站ID 做为主键
其他共性字段放主表
可补充其他扩展表(可能若干)非共性字段放扩展表
一张主表
产品ID + 工站ID 做为主键
其他共性字段放主表
可补充其他扩展表(可能若干)非共性字段放扩展表
作者: dontworry 发布时间: 2011-09-06
作者: gongcheng28 发布时间: 2011-09-06
谢谢三楼!知道了!
作者: c209zhanglin 发布时间: 2011-09-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28