gpt4 book ai didi

php - MySql:追加到数据库中当前值的最快方法

转载 作者:行者123 更新时间:2023-11-29 07:55:32 25 4
gpt4 key购买 nike

我有一个包含 32,000 个条目的表。

每个条目都有一个 JSON blob:

{
"property1": "someValue",
"property2": "AnotherValue"
}

我现在需要为每个参赛者附加另一个属性到此 blob,以便我们:

{
"property1": "someValue",
"property2": "AnotherValue",
"property3": "YetAnotherValue"
}

因为不同条目的 someValueAnotherValue 会有所不同,所以我不能只用新记录替换旧记录。相反(我猜测)我应该解析 JSON,添加 property3 并将其返回到 DB,获取 32,000 条记录中的每一条记录。

实现这一目标的最佳方法是什么?我有一个 MySql 数据库,我通过 PhpMyAdmin 与之交互。

我尝试编写一个 PHP 脚本,该脚本基本上会选择并循环每一行,解析并附加到我的 JSON blob,并将其备份到每条记录。然而,当我在浏览器中运行此命令后,它只是超时,因为执行时间太长(我怀疑这是为每条记录提取 blob 和上传备份之间的等待时间)。

非常感谢任何帮助!

最佳答案

我会质疑是否需要将 JSON 直接保存到 MySQL 数据库中。假设您的带有 JSON blob 的表名为 my_table 并且它有一个 id 字段。我会创建另一个表,例如 my_json_properties。在那里,我将创建三列:my_table_idproperty_nameproperty_value。然后只需使用 JSON 属性填充该表,添加新属性就很简单了。还要记住删除 blob 列,当然还要更新您的数据访问对象。

注意:使用 InnoDB 存储引擎,以便将 my_json_properties.my_table_id 转换为引用 my_table.id 的外键。 MySQL还会自动为外键列创建索引,因此只要知道原表中的id,查询属性就非常有效。

关于php - MySql:追加到数据库中当前值的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25242699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com