Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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
Php 存储序列化数组还是单个列?_Php_Mysql - Fatal编程技术网

Php 存储序列化数组还是单个列?

Php 存储序列化数组还是单个列?,php,mysql,Php,Mysql,我需要建议。我有一个用户将填写的大表(大约150多个字段),其中许多是(bool)复选框,还有一些文本输入。我知道,如果将表存储为序列化数组,将极大地影响搜索并将数据库导出为另一种可用格式(如.csv) 我最好单独存储每个字段并创建一个大型表,然后将其序列化存储,还是有其他方法通过一个快乐的中间层来实现这一点?mysql数据库中的最大列数约为4000:。你只想用两百,这不是很多 我认为您最好将每个项目存储在单独的列中,因为它将帮助您组织数据并允许快速检索。正如您所说,使用其他存储方式(数组等)将

我需要建议。我有一个用户将填写的大表(大约150多个字段),其中许多是(bool)复选框,还有一些文本输入。我知道,如果将表存储为序列化数组,将极大地影响搜索并将数据库导出为另一种可用格式(如.csv)


我最好单独存储每个字段并创建一个大型表,然后将其序列化存储,还是有其他方法通过一个快乐的中间层来实现这一点?

mysql数据库中的最大列数约为4000:。你只想用两百,这不是很多


我认为您最好将每个项目存储在单独的列中,因为它将帮助您组织数据并允许快速检索。正如您所说,使用其他存储方式(数组等)将意味着更长的搜索时间。

答案在很大程度上取决于这些布尔表示什么以及您希望如何在数据中使用/搜索它们。您可以使用一个“子”表,其中每一行引用父行,并且每个bool都有一个值“name”和一个值“value”;但我通常建议反对这个(反)模式。有这么多字段,您可能还需要考虑几个与“主”表有1∶1关系的表;所以在某种意义上仍然是一个“行”,但在各个表中被分解成相关的块。