首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在数据库中存储大型数组

在数据库中存储大型数组
EN

Stack Overflow用户
提问于 2009-07-17 07:12:12
回答 7查看 2.2K关注 0票数 1

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

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-07-17 07:20:42

为什么不像保存属性一样将它们保存在表中。那是

代码语言:javascript
运行
复制
| id| name       | value        |
+---+------------+--------------+
| 1 | array_key  | array_value  |
| 2 | array_key2 | array_value2 |

如果想要数组的多个实例,可以始终添加一个额外的键来跟踪实例:

代码语言:javascript
运行
复制
| 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            |

使用这类解决方案的方法的问题是,数据往往更难读,并且如果一个对象有几个属性,就会有很多额外的连接。

票数 5
EN

Stack Overflow用户

发布于 2009-07-17 07:41:27

你有几张唱片?上百个?几千人?

如果您的记录数低于500,那么我认为您根本不应该选择数据库。您可以将其存储在XML文件中。这是NoSQL :)的时代。

并不是说我支持这项运动,但对于您的需求来说,数据库似乎过于雄心勃勃。

票数 3
EN

Stack Overflow用户

发布于 2009-07-17 07:13:45

正如您所提到的,您应该有一个键列和一个值列,并插入记录。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1141794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档