繁体   English   中英

PHP / MYSQL如何将多维数组存储在数据库-json或另一个表中?

[英]PHP/MYSQL How do you store a multidimensional array in a database - json or another table?

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

如果不确定数组的深度可能是多少层,那么设计db模式真的很困难,因此最好的存储方式是在已经完成的文本字段中。

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

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

我认为,如果您不确定数组的深度,可以建立一个结构良好的数据库,这将有些困难,因此请按计划进行。 正如我建议的那样,请尽可能多地使用函数

编码 功能和解码功能 (用于任何级别的json数据),并使用这些功能来执行更新。

使用单独的功能显然会美化您的项目,并且代码不会混乱。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM