php - 将大型数组存储在数据库中

标签 php database cakephp

我有一长串整数值的行程项目。我正在考虑创建一个数据库,其中每一项都有大约 50 列,但这似乎有点冗长,而且行程可能会改变。有没有更好的方法将这些 name => value 对存储在数据库中?序列化似乎有点粗糙,我正在考虑只创建一个带有名称、值列的 itinerary_items 数据库并将数据粘贴在那里。什么是最佳解决方案?

最佳答案

为什么不像表中的属性那样保存它们。也就是

| id| name       | value        |
+---+------------+--------------+
| 1 | array_key  | array_value  |
| 2 | array_key2 | array_value2 |

如果需要数组的多个实例,总是可以添加一个额外的键来跟踪实例:

| id| name       | value        | instance_key |
+---+------------+--------------+--------------+
| 1 | array_key  | array_value  | 1            |
| 2 | array_key2 | array_value2 | 1            |
| 3 | array_key  | array_value  | 2            |
| 4 | array_key2 | array_value2 | 2            |

使用这种解决方案的方法的问题在于,如果您在一个对象上有多个属性,数据往往更难被人类阅读,并且会有很多额外的连接。

关于php - 将大型数组存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1141794/

相关文章:

c# - 单用户访问数据库的建议

php - javascript 函数在 document.ready() 下无法正常工作

php - cakephp上传插件没有输入参数可以改变

php - MySql order By 和 COUNT()

php - 表单元素未使用正确的 jquery 移动设计插入

database - 如何在 visual studio (express) 中生成数据库模式图?

mysql - 在 MySql 中合并 Bit、Enum 和 Set 字段

php - 我应该限制连接到数据库的数量吗?

php - 如何在 CentOS 上的 PHP 5.3 中激活 ZipArchive 类

PhpPresentation imagecreatefromstring() : Data is not in a recognized format - PHP7. 2