我提前感谢您的时间。您的经验分享非常宝贵。
假设有 4 个用户可以提交帖子并为其他帖子点赞。在数据库中,上述方法中哪一种在查询执行时间方面是最好的?是 3 列 SQL 数据库还是 2 列 NoSQL 键/值存储?
查询示例:获取 post_3 的支持者。
谢谢
第一种方法(例如 MySQL)
第二种方法
编辑(仅基于 John Tseng 的回答)
create table post (post_id int, author_id int); create table upvote (user_id int, post_id int).
我是否应该得出以下结论:
2 个表(=3 次读取)比从一个用 php 处理的表中读取的长字符串更好?
我想指出,在实施项目之前优化速度(或至少学习如何)是我觉得很重要的事情。我不希望我的表将来变成 TB 并且执行缓慢,因为重新设计会有风险并且需要大量工作。我害怕将一大列从一张桌子移到另一张。这就是为什么我花费大量时间为我的数据库寻找最佳设计并从一开始就询问使用键/值存储是否好。我是否误解了键值存储,它们不是在第一台机器上开始使用的。
The way you store your data is very important, and you should make it logical before optimizing for speed.
为什么不创建一个可以在未来轻松优化速度的逻辑设计呢?
从您宝贵的答案中,我是否需要了解 SQL 数据库的良好设计是唯一需要,并且之后使用 Key-Value 存储将很容易。