我对表格设计和性能有疑问。我有许多分析机器产生不同数量的数据(这些数据已经通过运行机器的dos程序存储在文本文件中)。我决定更新并创建一个新的数据库来存储所有机器的结果。我已经创建了单独的表来存储结果的类型,例如,从平衡机的所有查询结果存储在天平结果表等附加列与其他行的性能
我对每个机器是一个共同的结果表的格式如下:
ClientRequestID PK
SampleNumber PK
MeasureDtTm
Operator
AnalyteName
UnitOfMeasure
Value
一个典型的ClientRequest可能有50个样本这就需要由各种机器进行测试。每台机器每个样品只记录1行,因此每个表的apprx 50行与任何给定的ClientRequest相关联。
这适用于除一个机器外的所有机器!它可以测量每个样品20-30个分析物(并将它们排出一个长排),而所有其他机器,我只需要为每个RequestID/SampleNumber测量1个分析物。 如果我坚持这种格式,这台机器每年将产生超过百万行,因为每个样本可以有多达30个测量值。 我的其他表格每年只能以3000-5000行的速度增长。
所以在这一切之后,我的问题是这样的:
我是更好地坚持该表的通用格式,并有排斗载荷,或者是它更好地只是添加额外的列来表示每个分析物,这样每个样品只会产生一行(与其他表格一样)。该机器最多只能测量30个分析物(每台机器25万美元,我赢了;在我的生命中获得另一台机器)。
我很担心的是报告性能和在线编辑。在这两种情况下,PK:RequestID
和SampleNumber
保持不变,所以我想这只是一个加载更快的问题。我知道从设计的角度来看,多列方法被认为是可悲的,但是在这种情况下它会产生更好的性能吗?
BTW数据库是MS的Jet/Access 2010中
任何帮助将不胜感激!
“BTW数据库是MS的Jet/Access 2010中的” 这是你的问题的80%。使用几乎任何ODBC数据库,您就可以与性能和空间利用率更快乐。 – 2010-07-29 23:41:31