0

我正在尝试建立一个包含不同处理时间的数据库。所以在我的主表中有一个“时间”列,我想在其中输入一个过程的时间。时间可以是固定的时间选择,保持不变,例如 08:00,12:00,18:00 或每天 3 次(确切时间并不真正相关)或 06:00,20:00 或每天 2 次

或者它可以是用户确定的时间(时间是相关的!),例如 09:00、10:30、11:00

我的问题是,您如何将其放入 sqlite 数据库?固定时间可以在主表的“时间”字段中使用不同的表和外键。但是我应该如何引入用户确定的部分呢?

另一方面,我可以使用一个不同的表,该表在自己的行中包含所有时间,并使用主表的外键连接所有相应的时间。但这并不适合固定时间。

在我看来,这些解决方案都不会让我满意。

4

1 回答 1

0

SQLite 将整数数据存储在 1、2、3、4、6 或 8 个字节中,具体取决于您保存的值的大小。因此,如果您想使用键/值系统,您可以。您可以创建一个时间查找表,其中一个小的字节大小的数值表示您想要的任何类型的时间对象,例如:

Time (table)
index time type
1     08:00  fixed
2     12:00  fixed
3     18:00  fixed
4     06:00  fixed
5     20:00  fixed
6     09:00  free
7     10:30  free

然后在处理时间(表):

timeIndex  processTime
3           24
7           22543

假设您的不同时间少于 256 个,进程时间表中的值将存储为单字节,对于索引超过 255 的时间,将存储为双字节。

SQlite 的快速查找功能可以让您在提取处理器时间值时提取时间值,并且您将拥有一个更小的数据库。

于 2013-10-17T03:12:34.563 回答