在数据库中存储大型数组

brn*_*nmg 1 php database cakephp

我有一个很长的行程项目列表,其中包含整数值.我正在考虑创建一个数据库,每个项目都有五十列,但这似乎有点啰嗦,行程可能会改变.有没有更好的方法在数据库中存储这些name =>值对?序列化似乎有点粗糙,我正在考虑创建一个带有名称,值列的itinerary_items数据库并将数据粘贴在那里.什么是最好的解决方案?

Sto*_*ojg 5

为什么不像表中的属性一样保存它们.那是

| id| name       | value        |
+---+------------+--------------+
| 1 | array_key  | array_value  |
| 2 | array_key2 | array_value2 |
Run Code Online (Sandbox Code Playgroud)

如果想要多个数组实例,可以随时添加一个额外的密钥来跟踪实例:

| 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            |
Run Code Online (Sandbox Code Playgroud)

使用这种解决方案的方法存在的问题是,如果对象上有多个属性,那么数据往往更不易被人类阅读,并且会有很多额外的连接.