lfr*_*ree 5 mysql json one-to-many storing-data
假设每个用户都有一些数字(例如网页游戏中的道具 ID)要存储在数据库中。
我看到一些实现将数字作为 JSON 字符串(表示数组结构)存储在用户信息表的一个字段中。但我的直觉是创建另一个如下表
CREATE TABLE user_numbers (
userid INT,
user_number,
FOREIGN KEY (userid) REFERENCES user_info(id) ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)
因为这是一对多关系的正式方式。
所以我想知道 JSON 方法有什么实际好处还是只是个人选择?
根据我的经验,这很大程度上取决于存储的数据。两种方式都有优点和缺点。如果它是MMORPG网页游戏,那么就说你有一台带腰带的PC 。PC 可以将药水放在腰带中,以便在战斗中快速获取。所以我们想要保存存储在角色腰带中的药剂的 ID。
\n\n最常见的请求是“获取角色 X 拥有的所有药水”。在这两种情况下,这都会运行得非常快。
\n\n将这些 potion-id 存储为单独的表的好处:
\n\n存储为 json 的好处:
\n\n底线:这些不是主要优势,也不是关键优势问题。所有这些都是可以解决的,并且通过正确的应用程序设计,两种解决方案都可以正常工作。在决定如何存储数据之前,问问自己,这些数据最常见的用例是什么,然后选择解决方案。
\n| 归档时间: |
|
| 查看次数: |
2680 次 |
| 最近记录: |