PHP / MYSQL如何在数据库中存储多维数组 - json或其他表?

时间:2015-10-13 06:33:08

标签: php mysql json database multidimensional-array

我目前正在开发一个需要在数据库中存储多维数组的应用程序。目前我正在使用3层深的数组,可以是任意大小,因为它填充了用户生成的信息,并使用json_encode()将其转换为string并将其输入数据库。
这个问题是单个字段非常大且难以阅读,更新我必须检索数据,解码,更新,编码和重新上传数据。如果该网站确实被许多人使用,我不知道这会如何扩展 我认为主要的替代方案是创建另一个表,每个行都由存储在主表中的唯一id访问,但我再次不确定这将如何扩展 哪个更好?任何帮助非常感谢:)

3 个答案:

答案 0 :(得分:1)

如果你不确定你的数组有多少层,那么设计数据库模式真的很难。最好的存储方法是在你正在做的文本字段中。

至于缩放涉及正确的索引和分区以及扩展应用程序,但是一个具有大文本值的字段与缩放无关。

答案 1 :(得分:0)

创建多个数据库表以及这些表之间的关系以将数据分组在一起可能更容易维护,并使您能够根据列查询/过滤结果,而不必检索数据,解码并迭代它在PHP中。

答案 2 :(得分:0)

我认为,如果你不确定你的数组有多深,或者比你构建一个构建良好的数据库要困难,那么就像你计划的那样。正如我建议的那样尽可能多地使用功能

用于编码函数解码 json数据(任何层)的函数,并使用这些函数并执行更新。

使用单独的功能显然会美化你的项目和代码不会搞砸。