gpt4 book ai didi

MySQL - 两种解决方案之间的最佳性能

转载 作者:行者123 更新时间:2023-11-29 04:54:35 25 4
gpt4 key购买 nike

我需要有关 MySQL 的建议。

我有一个用户表,其中包含 id、昵称、numDVD、金钱和表 DVD,其中包含 idDVD、idUser、LinkPath、计数器。

现在我相信我可以拥有 max. 20 个用户,每个用户大约有 30 张 DVD。

因此,当我插入 DVD 时,我应该有 idDVD(自动增量)、idUser(用户表的相同 idUser)、LinkPath(通用字符串)和计数器,它是一个从 1 到 30 的数字(唯一数字)(取决于每个用户的数量或 DVD)。

问题是处理最后一列“counter”,因为我会从 1 到 30 中选择 2 3 个具有相同 UserId 的随机 DVD。

所以我在想这是否是我的最佳解决方案并且难以处理(对我来说我从未使用过 MySQL)或者最好创建 20 个表(每个用户 1 个)包含 ID 和 DVDname 等。

谢谢

最佳答案

不要创建 20 个表!那太过分了,如果您将来需要添加更多用户怎么办?可靠地维护和更新几乎是不可能的。

更好的方法是:

Table users
-> idUser
-> other user specific data

Table dvd
-> idDvd
-> DVDname
-> LinkPath
-> other dvd specific data (no user data here)

Table usersDvds
-> idUser
-> idDvd

这样,如果一个或多个用户拥有相同的 DVD 就没有问题,因为它只是 usersDvds 表中的另一个条目 - idDvd 值将相同,但 idUser 会不同。要计算用户拥有多少张 DVD,只需执行 SELECT count(*) FROM usersDvds WHERE userId = 1

关于MySQL - 两种解决方案之间的最佳性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7844341/

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