gpt4 book ai didi

javascript - 如何过滤indexedDB中的100K记录?

转载 作者:行者123 更新时间:2023-12-02 23:50:18 24 4
gpt4 key购买 nike

我有一个 IndexedDB 存储,其中有 100k 个名称字段。如何根据名称包含某些子字符串来过滤它?

我尝试使用indexeddb getall(),但导致CPU 使用率增加。使用 Cursor 进行迭代需要花费大量时间。尝试过dexie js。

有什么好的实现来完成这种操作吗?

最佳答案

如果对名称字段建立索引,则可以进行前缀搜索,但普通索引不足以进行完整的子字符串搜索。

const db = new Dexie ('dbname');
db.version(1).stores({things: 'id, name'});

function query(prefix) {
return db.things
.where('name').startsWith(prefix)
.toArray();
}

此示例在“名称”字段上定义一个索引,查询函数将使用表示以给定字符串开头的所有名称的 IDBKeyRange 对“名称”索引执行 getAll()。

关于javascript - 如何过滤indexedDB中的100K记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55675930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com