我想对设备进行多次测试并记录结果。
每次运行将包括
- 开始时间戳
- 结束时间戳
- 用户提供的测试运行的文本描述
- 来自各种测量设备的测量值的集合,每隔一秒进行一次
问题:我曾考虑为每个测试运行创建一个数据库(因为测量表将有多行特定于该运行,否则我将不得不添加一个额外的列作为索引)。
我是否正确使用多个数据库,还是有更好的方法,使用单个数据库?
我想对设备进行多次测试并记录结果。
每次运行将包括
问题:我曾考虑为每个测试运行创建一个数据库(因为测量表将有多行特定于该运行,否则我将不得不添加一个额外的列作为索引)。
我是否正确使用多个数据库,还是有更好的方法,使用单个数据库?
如果你不得不问,答案总是一个。
如果您需要多个数据库,您就不会问这个问题,因为您会超越认为您需要多个数据库而知道自己需要。
您需要关注的是创建一个简单的模式,该模式可以处理您想要的内容并正确编入索引,以便快速查询。
使用一个数据库。在您的测量表中,添加一个run_id
指定特定运行的字段。
下面的示例 - 您的字段类型可能会有所不同,具体取决于您的需要。
CREATE TABLE IF NOT EXISTS measurements
(
measurement_id INT NOT NULL AUTO_INCREMENT,
run_id INT,
start_time INT,
stop_time INT,
description VARCHAR(255),
PRIMARY KEY (measurement_id)
);
CREATE TABLE IF NOT EXISTS runs
(
run_id INT NOT NULL AUTO_INCREMENT,
description VARCHAR(255),
PRIMARY KEY (run_id)
);
如果您正在寻找建议,则需要使用单一数据库。就易用性而言,它将帮助您进行可扩展性和维护。使用多个数据库/模式将在后期引起头痛。但这只是一个建议。