儿童杂项模式的数据库devise

我想知道保持数据库尽可能整洁的最佳做法。 数据库是由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)) 

对于每个完成的任务,在数据库中创build一行。 只有400个孩子在那里做家务,每天已经有大约800行被添加到FINISHED TASKS表格。

我有两个问题:

  1. 是否有一个更有效的方式来存储完成的FINISHED TASKS ,每个孩子或类似的一整天?
  2. 随着规模,我将最终每天可能成千上万的行 – 是否可以接受这样的应用程序?

有一个通过中间桥表与任务表相关的子表是执行此操作的常用方法。 我对大型医院应用程序的经验是,一旦表开始具有数百万行并且性能下降,则应用程序通常将“完成的任务”归档到单独的归档表中。 你最终可能会得到两个表,一个名为“活动任务”,其中包含“已完成”为false的任务,一旦任务完成,行被移动到已归档的“已完成任务”表中。

取决于您想要在将来如何打理应用程序时付出多less努力,现在可以这样做,以防止必须重新访问该应用程序。