gpt4 book ai didi

mysql - 跨表关联多行的最佳方法

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

我想知道将一个表中的一行与另一个表中的多行相关联的最佳实践。

假设我有以下两个表:

table_users
id | username
------------------------------------------------------------------------
1 | user1
2 | user2
3 | user3

table_texts
id | text
------------------------------------------------------------------------
1 | This is a secret text, that only user2 and user3 should see.

现在我唯一的解决方案是创建第三个表:

table_user_text_relation
id | text_id | user_id
------------------------------------------------------------------------
1 | 1 | 2
2 | 1 | 3

然后像这样选择:

SELECT
table_texts.text

FROM
table_users, table_texts, table_user_text_relation

WHERE
table_users.id = table_user_text_relation.user_id
AND
table_texts.id = table_user_text_relation.text_id

这很好...但是,如果我有 6000 个用户,每个用户都可以访问 500 个文本,那么 table_user_text_relation 就必须有 3.000.000 行才能建立多对多关系?

有更好/更聪明的方法来做到这一点吗?

最佳答案

我就是这样做的。我已经找了很长时间了,有一个比赛表是最好的方法。因为匹配表只使用整数,所以不会占用太多空间。我想说这是最佳实践。

关于mysql - 跨表关联多行的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16671886/

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