gpt4 book ai didi

php - 是否避免加入?

转载 作者:行者123 更新时间:2023-11-30 22:17:30 25 4
gpt4 key购买 nike

假设您有一个包含 5000 万个帖子的 POSTS 表。这个表有:

ID, POST, CATEGORY_ID
1, "Hello world", 2

然后你有一个 CATEGORIES 表:

ID, CATEGORY_NAME
1, "Football"
2, "Baseball"

在网站上,您在 ORDER DESC 中列出这些帖子,使用连接显示帖子和类别名称。

[Baseball]
Hello World!

我正在考虑将(当有人创建新帖子时)CATEGORY_NAME 列添加到 POSTS 表中,以避免每次访问时都必须进行 JOIN。

按性能顺序,是个好主意吗?假设您每天有 10.000.000 名访问者(希望 :))

另一方面,我想知道您认为哪种数据库引擎更适合它,mysql?玛丽亚数据库? mongodb?

编辑:

想象一个更真实的场景:我需要 3 个连接来显示 POST + CATEGORY + USER_NAME。

POSTS: 50 million rows
CATEGORIES: 100 rows
USERS: 10 million rows

选项 A)连接 3 个表以显示:

[Baseball]
Hello World
- By John

选项 B) 添加 2 列 (CAT_NAME, USER_NAME) varchar(25) 到 POSTS 表以避免连接。

最佳答案

保持正常化。

JOIN 的成本低于拥有更丰满的表所导致的成本。目前(少量数据)您看不到太大的性能差异。当表太大而无法缓存在 RAM 中时,规范化的性能优势就会大放异彩。

关于php - 是否避免加入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37782921/

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