IndexedDB dexiews查询超时变慢

ahy6op9u  于 2022-12-09  发布在  IndexedDB
关注(0)|答案(1)|浏览(260)

因此,我使用Svelte+Vite与Dexiews作为我的离线数据库和路由,当我去一个页面,使查询Dexiews的响应是相当快的第一个请求,但当我去另一个页面,并回到同一个页面的响应时间变得缓慢,每一个查询。
我已经使用了类似this的索引,但它仍然发生。我错过了什么?有人能推荐任何替代品,比dexiews或pouchDB的性能更好的离线数据库吗?我目前正在尝试pouchDB作为替代品
这是我代码

let taskDone;
let taskOngoing;
let clustercount;
let tasks = [];
onMount(async function () {
        // @ts-ignore
        let clusterQuery = await db.cluster.reverse().sortBy("id");

        clustercount = clusterQuery.length;

        for (const clusters of clusterQuery) {
            // @ts-ignore
            taskDone = await db.task
                .where("[cluster_id+status]")
                .anyOf([clusters.id, 1], [clusters.id, 2])
                .toArray();

            // @ts-ignore
            taskOngoing = await db.task
                .where({ cluster_id: clusters.id })
                .toArray();

            tasks = [
                {
                    cluster_id: clusters.id,
                    count_done: taskDone.length,
                    count_ongoing: taskOngoing.length,
                    cluster_name: clusters.name,
                },
                ...tasks,
            ];
            count++;
        }
        dispatch("showList", tasks);
    });
cgfeq70w

cgfeq70w1#

看起来每次调用onMount时,tasks数组被填充的越来越多。它是一个全局声明的变量吗?它应该是局部变量吗?

相关问题