有没有更好的方法来实现共享树节点的功能?

时间:2018-06-11 15:10:06

标签: mysql database postgresql data-structures logic

我正在写一个待办事项列表服务(用于教育目标)。此服务可以包含任何嵌套任务,并且可以共享任务。我正在使用物化路径将树存储在数据库中。但是我的共享功能有问题:我的共享实现很慢。以下是它的工作原理:如果用户将任务(列表)共享给其他用户,该服务将创建" reference"字段source_id的节点,指向原始节点。

假设我共享10个任务,那就有100个子任务。我执行以下查询以获取共享任务列表:

  1. 1查询 - " SELECT id,路径FROM任务t1 INNER JOIN任务t2 ON t1.id = t2.source_id WHERE t2.source_id IS NOT NULL且t2.user_id =:userId"
  2. 10个查询 - " SELECT * FROM tasks WHERE路径LIKE:sourcePath /%" 共有10个共享任务的11个查询。这很多:(
  3. 有没有更好的方法来实现这样的功能?

0 个答案:

没有答案
相关问题