LokiJS
LokiJS copied to clipboard
Pretty slow while removing one-by-one
i have a real time system, i need to add/remove items one-by-one from the db, here's my example:
let t;
let alarms = [];
for (let i = 0; i < 10000; i++) {
alarms.push({id: i, name: 'hello' + i});
}
let db = new loki('exampleDB');
let alarmCollection = db.addCollection('myAlarms', {indices: ['id']});
console.log(`开始插入。。。`)
t = Date.now();
alarms.forEach(obj => alarmCollection.insert(obj));
console.log(`完成插入 耗时${(Date.now() - t) / 1000}s alarmCollection.count=${alarmCollection.count()}`);
console.log('开始删除 size=' + alarms.length)
t = Date.now();
alarms.forEach(obj => alarmCollection.findAndRemove({id: obj.id}));
console.log(`完成删除 耗时${(Date.now() - t) / 1000}s, alarmCollection.count=${alarmCollection.count()}`);
result:
开始插入。。。
完成插入 耗时0.011s alarmCollection.count=10000
开始删除 size=10000
完成删除 耗时2.731s, alarmCollection.count=0
as we can see, it took pretty much time to remove items from the collection one by one.
Any idea to improve the performance for removing one-by-one?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.