gpt4 book ai didi

sql - 存储大量数据日期的最佳方式

转载 作者:搜寻专家 更新时间:2023-10-30 20:17:44 25 4
gpt4 key购买 nike

我有一个数据记录器,每秒存储一个传感器的读数,如下表所示:

16:21:53    10.51   19.47   16.89   16.4
16:21:53 4.44 8.03 6.86 6.33
16:21:53 1.99 2.18 2.42 1.28
16:21:54 1.41 0.72 2.39 1.28
16:21:54 1.06 1.85 2.99 2.08
16:21:54 1.04 2.27 3.27 2.29
16:21:56 1 2.46 3.07 2.34
16:21:56 1.13 2.26 3.24 2.07
16:21:56 0.93 2.05 2.84 1.81
16:21:57 0.99 1.88 2.61 1.63
16:21:57 0.85 1.61 2.44 1.35
16:21:57 0.7 1.4 2.26 1.14
16:21:58 0.63 1.27 2.34 0.99

存储所有这些行的日期很不方便,因为它会占用大量内存空间,为所有这些行存储单个日期值的最佳方法是什么?我的观点是,不是有一个名为 datas 和 insert 的新列25/2/2015 为 16:21:53 的行,另一个日期为 16:21:54 的行,依此类推,我想对所有行使用 25/2/2015 1 次或任何其他有效作为一般数据库设计来执行此操作的方法。

最佳答案

在 SQL Server 中,datetime 占用 8 个字节,但如果您不打算在 2079 年后使用数据记录器,则可以使用仅占用 4 个字节的 smalldatetime

这比尝试使用整数存储日期和时间要好,后者通常会导致使用超过 4 个字节,加上令人头疼的问题以及来自转换的 CPU 时间。我不知道其他 dbms,但应该有类似的选项。

编辑:

我刚刚检查了 MySql,看起来你可以使用 timestamp,它可以同时保存日期和时间,而且它也存储在 4 个字节上。

在此处阅读有关存储要求和限制的信息:
MySql DateTime Storage Requirements
MySql date and time data types

另一个例子:

在 Oracle 11G 中,为您推荐的数据类型是 date。尽管它是可以存储数据的最小类型,但它仍然需要 7 个字节(timestamp 需要 12 个字节,但可以存储小数秒)。
Oracle Datetime data types

关于sql - 存储大量数据日期的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28712830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com