struct-performance

我们那棵树长什么样、

task > section > group > subtask

lrs_task > lrs_group > lrs_subtask

当学完一个 subtask 时,需要更新自己,并更新 lrs_task 的进度。
当 subtask 增加时,需要对所有的 lrs_task 进行更新进度。

何解?

方案1:

每次都去读 task 下的 subtask 总数
然后再读这个用户的做过的 subtask 总数,进行比较。

进化 》

将 task 总数进行 cache

进化》
将进度进行 cache,如果课程更新,删除 cache。
每次读的时候,如果进度为空,最上面的方案读一次就好了。

方案2: