gpt4 book ai didi

javascript - indexedDb objectStore.openCursor 这么慢

转载 作者:行者123 更新时间:2023-11-28 03:56:40 24 4
gpt4 key购买 nike

第一次使用索引查询时间过长。

使用场景:移动端使用webview。

数据保存到indexedDb后,第一次打开页面查询速度极慢。

查询代码:

var startTime = new Date().getTime();
var request = indexedDB.open("yfg");
request.onerror = function(event) {
alert("Why didn't you allow my web app to use IndexedDB?!");
};
request.onsuccess = function(event) {
var table = [];
var db = request.result;
var objectStore = db.transaction("table").objectStore("table");

//objectStore.openCursor().onsuccess = function(event) {
objectStore.openCursor(null,IDBCursor.NEXT).onsuccess = function(event) {
var cursor = event.target.result;
if (cursor) {
table.push(cursor.value);
cursor.continue();
}else {
//alert("No more entries!");
console.log(table);
var endTime = new Date().getTime();
console.log("总耗时:",(endTime-startTime)/1000);
}
};
};

在控制台上执行:

第一个结果: enter image description here

第二个结果: enter image description here

浏览器版本: enter image description here

每条数据的具体内容: enter image description here

此表格包含以下数据: enter image description here

最佳答案

尝试使用IDBObjectStore.prototype.getAllgetAll 生成一个数组,与您正在执行的操作类似,但涉及的函数调用比 openCursor 少,因此性能更高。

但是,与openCursor不同,getAll可能不受支持,因为它是indexedDB的较新功能。链接页面显示了兼容性表,但该表也可能已过时。

关于javascript - indexedDb objectStore.openCursor 这么慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47503113/

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