From 570a6846b1b2fd055b5571486f909b1ca232d64c Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Sat, 19 Oct 2024 17:46:17 +0800 Subject: [PATCH] :zap: Improve performance for refresh refs --- kernel/model/backlink.go | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/kernel/model/backlink.go b/kernel/model/backlink.go index 44400aa82..e5b1af356 100644 --- a/kernel/model/backlink.go +++ b/kernel/model/backlink.go @@ -44,20 +44,12 @@ func RefreshBacklink(id string) { func refreshRefsByDefID(defID string) { refs := sql.QueryRefsByDefID(defID, false) - trees := map[string]*parse.Tree{} + var rootIDs []string for _, ref := range refs { - tree := trees[ref.RootID] - if nil != tree { - continue - } - - var loadErr error - tree, loadErr = LoadTreeByBlockID(ref.RootID) - if nil != loadErr { - logging.LogErrorf("refresh tree refs failed: %s", loadErr) - continue - } - trees[ref.RootID] = tree + rootIDs = append(rootIDs, ref.RootID) + } + trees := filesys.LoadTrees(rootIDs) + for _, tree := range trees { sql.UpdateRefsTreeQueue(tree) } }