我正在构建一个移动应用程序,我使用PHP & MySQL来编写后端--REST API。如何在MySQL数据库中存储60个布尔值?
如果我必须在我的移动应用程序中名为“Reports”(用户必须检查表单中的东西)的表中存储50-60个布尔值,我将值(0/1)存储在一个简单的数组中。在我的MySql表中,我应该为每个布尔值创建一个不同的列,还是仅仅使用字符串或Int将它存储为“数字”,如“110101110110111 ...”就足够了?
我得到并把数据与JSON。
更新1:我所要做的就是检查一切是否为1,如果其中一个为0,那么这就是一个“问题”。在两年内,这张桌子将有大约15.000-20.000排,它必须非常快速且尽可能节省空间。
更新2:在速度方面哪个解决方案更快?制作单独的列vs将其存储在字符串/二进制类型中。如果我必须检查哪些是0,该怎么办?如果我将它作为一个“数字”存储在一列中,并且它不是“111..111”,那么将它作为JSON发送给移动应用程序,在此解析数值并在用户设备上分析它,这是否是一个很好的解决方案?假设我必须处理5万行。
在此先感谢。
如果您需要在这些标志的值上搜索(使用像'WHERE bool_a AND NOT bool_b'这样的东西),这会促使您将它们存储在自己的列中。但是您还没有告诉我们您的应用程序需要如何使用这些数据。 –
你说得对。我所要做的就是检查一切是否为1,如果其中一个是0,那么这是一个“问题”。 2年内这个表格将有大约15.000-20.000行,它必须非常快速且尽可能节省空间。 – nethuszar
如果你百分之百肯定你不必在中间添加东西,你可以带着旗子去。你可以使用BINARY类型。 – MartijnK