gpt4 book ai didi

mysql - 更正 'fantasy football' 数据库中结果表的数据库结构

转载 作者:搜寻专家 更新时间:2023-10-30 20:08:26 24 4
gpt4 key购买 nike

在这个场景中,我有:球员、梦幻足球联赛(社区)和结果。

1 个用户可以加入多个梦幻联盟。

我的当前结构是:

create table players (id int, email, display_name)
create table communities (id int, name, password, admin_email)
create table community_players (community_id, player_id)

我现在需要为每个社区创建一个结果表。我在想:

create table results (player1_id, player1_points, player1_goals_scored, player2_id, player2_points, player2_goals_scored, date, community_id)

我担心这张 table 最终会变得很大。因此,当我对其运行统计数据查询(即谁击败了谁、进球数、失球数等)时,它最终会非常慢。

我的想法是:

我是否应该为每个创建的社区“即时”创建一个结果表?

create table results_community_name (player1_id, player1_points, player1_goals_scored, player2_id, player2_points, player2_goals_scored, date, community_id)

最佳答案

数据库是为存储行而构建的。 很多行。通过适当的索引和维护,您永远不会真正遇到性能问题。另一方面,为每个社区创建一个表不仅会使您的代码复杂化,而且很快就会成为维护的噩梦。

如果性能真的成为问题,您应该查看 MySQL 的 partitions .本质上,它会创建隐藏在一个逻辑表后面的 N 个物理表,这有点像您为每个社区创建一个表的想法,但管理起来要容易得多。

关于mysql - 更正 'fantasy football' 数据库中结果表的数据库结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40084251/

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