在这种情况下,我有:球员,幻想足球联赛(社区)和结果。“幻想足球”数据库中的结果表的正确数据库结构
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)
我担心的是这张桌子最终会变得很大。所以当我去查询统计数据时(即谁击败了谁,进球数量,进球数量等),结果会非常慢。
我的想法是:
我应该“上即时”为创建的每个社区建立一个成绩表?
create table results_community_name (player1_id, player1_points, player1_goals_scored, player2_id, player2_points, player2_goals_scored, date, community_id)
为另一个表中的每条记录创建表是一个非常糟糕的主意。你现在的结构有什么问题?你对它的性能和可伸缩性有什么测量或估计? – David
我不想为另一个表中的每条记录创建一个表,只是在数据库中 - 或者是您的意思? 除了如果我只使用一个表格,我没有任何测量或估计值,我估计在提取统计数据(例如目标得分)时,它可能会查询100,000条记录。 – RDowns
''为每个社区'即时创建结果表'' - 这是否意味着您不会为'社区'表中的每条记录创建一张表?至于记录数,在一个没有任何数字的表中有100,000条记录是相当低的数据量。 – David