我想知道保持数据库尽可能整洁的最佳做法。数据库是由express.js / node访问的postgresql。这是我正在处理的儿童家务应用程序,它具有以下架构:
CHILDREN
id
name
points
rate
created_at
updated_at
user_id
TASKS
id
description
value
days (boolean array - eg. [0,0,0,0,0,0,0])
periods (boolean array - eg. [0,0])
created_at
updated_at
user_id
FINISHED TASKS
id
task_id
child_id
completed (boolean)
created_at
updated_at
period (boolean)
day (int (0-6))
对于每个完成的任务,在数据库中创建一行。只有400名孩子在那里做家务,每天大约有800行被添加到FINISHED TASKS
表。
我有两个问题:
FINISHED TASKS
每个孩子或类似的一整天?答案 0 :(得分:2)
通过中间桥接表具有与任务表相关的子表是执行此操作的常用方法。我对大型医院应用程序的体验是,一旦表开始有数百万行并且性能下降,应用程序通常会将“已完成的任务”归档到单独的归档表中。您最终可能会得到两个表,一个称为“活动任务”,其中包含“已完成”为假的任务,一旦任务完成,该行将被移动到已存档的“已完成任务”表中。
根据您希望将来为应用程序打样多少努力,现在可以这样做,以防止不得不重新审视这一点。