【发布时间】:2010-10-23 00:20:01
【问题描述】:
我有大约 50 个离散布尔值需要存储在数据库中。这些每隔几秒钟就会记录一次,所以我会随着时间的推移存储很多。
这些数据的使用方式是: 1)访问大量时间以查看标志状态历史记录 2) 查找标志更改状态的时间
一旦存储,记录将不会更新。
您是否建议将每个值存储在其自己的列中,或者将它们捆绑在一个整数值中并存储在几列中?
我很好奇随着数据变大,哪种方法更适合存储/访问数据?最终我将 24/7 全天候从多个单元获取数据,所以会有很多数据,所以我想我的问题是:压缩整数和单个列之间是否存在性能/稳定性权衡。
我正在使用带有 VB.NET 和 PHP 接口的 MySQL,但问题更多的是通用数据库设计而不是特定于 mysql 的设计。
谢谢,
【问题讨论】:
-
这些列是否需要可查询?即:
SELECT * FROM tblflags WHERE flag5=1? -
听起来最好将它们保留为自己的列,特别是如果您打算查询它们。那时真正的问题是您打算如何索引这些列?索引 50 多列数据会影响 INSERT / UPDATE 性能。
-
索引它们有意义吗?我永远不会进行 UPDATE,INSERT 操作肯定会相隔 1-3 分钟。
标签: mysql database-design