假设每个用户都有一些数字(例如网络游戏中道具的ID)存储在数据库中。
我看到一些实现将数字存储为JSON字符串(代表数组结构)在用户信息表的一个字段中。但我的直觉是创建另一个表如下
CREATE TABLE user_numbers (
userid INT,
user_number,
FOREIGN KEY (userid) REFERENCES user_info(id) ON DELETE CASCADE
);
因为这是一对多关系的正式方式。
所以我想知道JSON方法有什么实际的好处,还是只是个人选择?
所以我想知道JSON方法有什么实际的好处,还是只是个人选择?
是的,将数字存储在像“['1','2','3']”这样的数组字符串中是您个人的选择。但就我个人而言,我不建议使用这种方法来存储数据,因为可能需要对其进行一些算术运算,或者可能需要基于该数据搜索结果,在这种情况下,可能需要对其使用一些函数和索引。所以,如果您存储这样的字符串,那么您将无法执行这样的操作。
根据我的经验,这在很大程度上取决于存储的数据。两种方式都有优点和缺点。如果这是一个MMORPG网络游戏,那么就说你有一台带腰带的电脑。PC可以在腰带中放入药水,以便在战斗中快速获取。所以我们想保存储存在角色腰带中的药水的标识。
最常见的请求是“获取角色X拥有的所有药剂”。在这两种情况下都会运行得很快。
将这些药水ID存储为单独的表的好处:
存储为json的好处:
一句话:这些不是主要优势,也不是关键问题。所有这些问题都是可以解决的,只要应用程序设计得当,两种解决方案都能正常工作。在决定如何存储数据之前,问问自己,这些数据最常见的用例是什么,然后选择解决方案。
我当前有一个查询,用于在Men节点和People节点之间建立关系: Mem节点包含一个personid数组,我正在展开该数组,然后将其与personid节点对应。但是,查询正在与它创建的新Person节点建立关系,只使用相应的PersonId属性(而不使用其他属性),而不是与具有相应PersonId的现有Person节点建立关系。 即使我对带有Person标签的节点的personID属性有一个唯一
本文向大家介绍什么是ajax和json,它们的优缺点相关面试题,主要包含被问及什么是ajax和json,它们的优缺点时的应答技巧和注意事项,需要的朋友参考一下 ajax的全称:Asynchronous Javascript And XML。 异步传输+js+xml。实现无刷新状态更新页面和异步提交 所谓异步,在这里简单地解释就是:向服务器发送请求的时候,我们不必等待结果,而是可以同时做其他的事情,
指向列表中的下一个节点而不是 我明白,最好使用指针版本;我不打算争论事实,但我不知道为什么这样更好。关于指针如何更好地分配内存,我得到了一个不太清楚的答案,我想知道这里是否有人能帮助我更好地理解这一点。
问题内容: 只是想知道TreeSet的优缺点是什么,是否有人可以告诉我?谢谢! 问题答案: 收藏类之一。它使您可以按键或按键顺序访问集合中的元素。它比ArrayList或HashMap具有更多的开销。当您不需要顺序访问时,只需按键查找即可使用HashSet。使用ArrayList并使用Arrays。如果只想按顺序排列元素,则排序。TreeSet始终保持元素顺序。使用ArrayList,您可以在需要
面试题 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景? 面试官心理分析 其实面试官主要是想看看: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis、MQ,但是其实他并不知道自己为什么要用这个东西。其实说白了,就是为了用而用,或者是别人设计的架构,他从
本文向大家介绍Fetch和Ajax比有什么优缺点?相关面试题,主要包含被问及Fetch和Ajax比有什么优缺点?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: promise方便异步,在不想用jQuery的情况下,相比原生的ajax,也比较好写。