Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 存储布尔值:捆绑还是单独存储?_Mysql_Database Design - Fatal编程技术网

Mysql 存储布尔值:捆绑还是单独存储?

Mysql 存储布尔值:捆绑还是单独存储?,mysql,database-design,Mysql,Database Design,我有大约50个离散的布尔值需要存储在数据库中。这些都是记录每几秒钟,所以我将存储它们随着时间的推移很多 使用这些数据的方式是: 1访问大量时间以查看标志状态历史记录 2查找标志更改状态的时间 一旦存储,记录将不会更新 您建议将每个值存储在自己的列中,还是将它们绑定到整数值中并存储在几列中 我最好奇的是,随着数据变得越来越大,哪种方法更适合存储/访问数据?最终,我将全天候从多个单元获取数据,因此将有大量数据,所以我想我的问题是:在压缩整数和单个列之间是否存在性能/稳定性权衡 我使用的是带有VB.N

我有大约50个离散的布尔值需要存储在数据库中。这些都是记录每几秒钟,所以我将存储它们随着时间的推移很多

使用这些数据的方式是: 1访问大量时间以查看标志状态历史记录 2查找标志更改状态的时间

一旦存储,记录将不会更新

您建议将每个值存储在自己的列中,还是将它们绑定到整数值中并存储在几列中

我最好奇的是,随着数据变得越来越大,哪种方法更适合存储/访问数据?最终,我将全天候从多个单元获取数据,因此将有大量数据,所以我想我的问题是:在压缩整数和单个列之间是否存在性能/稳定性权衡

我使用的是带有VB.NET和PHP接口的MySQL,但问题更多的是通用数据库设计,而不是特定于MySQL的


谢谢,

随着应用程序的发展,这些事实很少保持布尔值

今天它们是真的/假的

明天他们是真/假/不知道/不知道

第二天,它们变成一个整数

最终,它们成为基于其他数据的适当条件


不要将它们打包为32个整数。那是目光短浅的。将它们保留为独立的列—可能是字节或较小的列。

随着应用程序的发展,这些事实很少保持布尔值

今天它们是真的/假的

明天他们是真/假/不知道/不知道

第二天,它们变成一个整数

最终,它们成为基于其他数据的适当条件


不要将它们打包为32个整数。那是目光短浅的。将它们保留为独立的列—可能是字节或较小的列。

即使您知道它们将始终是布尔,但最好将它们放在单独的列中。这将使查询在将来变得更容易、更快。如果你不得不为一个查询做一些解包工作,你会后悔的。我也赞同S.洛特的话。为未来做准备例如,如果你因为某种原因无法获得状态怎么办?你会说false还是unknown?

即使你知道他们永远都是傻瓜,最好还是把他们单独列在一列。这将使查询在将来变得更容易、更快。如果你不得不为一个查询做一些解包工作,你会后悔的。我也赞同S.洛特的话。为未来做准备例如,如果你因为某种原因无法获得状态怎么办?您会说false还是unknown?

这些列是否需要查询?IE:SELECT*FROM-tblflags,其中flag5=1?听起来最好是将它们作为自己的列,特别是如果您计划查询它们。此时真正的问题是,您打算如何为这些列编制索引?索引50多列数据会降低插入/更新性能。索引它们有意义吗?我将永远不会做更新,插入操作肯定会间隔1-3分钟。这些列需要可查询吗?IE:SELECT*FROM-tblflags,其中flag5=1?听起来最好是将它们作为自己的列,特别是如果您计划查询它们。此时真正的问题是,您打算如何为这些列编制索引?索引50多列数据会降低插入/更新性能。索引它们有意义吗?我将永远不会进行更新,插入操作肯定会间隔1-3分钟。在这种情况下,它们可能作为单个位保留,因为它们是来自PLC的Modbus线圈的状态。它们可能作为单个位保留。。。著名的遗言。今天,来自PLC的Modbus线圈的状态。明天,PLC会发生变化,或者您的需求会发生变化,或者您的处理会发生变化。非常正确,您将如何处理压缩字节中的FileNotFound?在这种情况下,它们可能会保留为单个位,因为它们是来自PLC的Modbus线圈的状态。它们可能会保留为单个位。。。著名的遗言。今天,来自PLC的Modbus线圈的状态。明天,PLC会改变,或者您的需求会改变,或者您的处理会改变。非常正确,您将如何处理压缩字节中的FileNotFound?