IndexedDB 写入缓冲区因大尺寸dexie而失败

sulc1iza  于 12个月前  发布在  IndexedDB
关注(0)|答案(1)|浏览(168)

我试图将Parquet文件数据存储为indexeddb中的缓冲区,但没有记录错误,文件大小约为430mb

const db = new Dexie('database');

  db.version(1).stores({ datasets: 'token,data' });

  const writeStart = performance.now();

  db.table('datasets').put({
    token: `taxi123`,
    data: file.data,
  });

字符串
error
但我可以通过删除模式中的字段数据来克服它,如下所示:

const db = new Dexie('database');

  db.version(1).stores({ datasets: 'token' });

  const writeStart = performance.now();

  db.table('datasets').put({
    token: `taxi123`,
    data: file.data,
  });


after success full upload
想要查看任何错误日志,但未找到

hgncfbus

hgncfbus1#

请参考Dexie JS:非常大的IndexedDB但空表
基本上,大型缓冲区永远不应该被索引。首先,因为你没有理由索引它。其次,因为它会使indexeddb很难维护索引。你想存储它,是的!但是你想在where子句中搜索它作为键吗?如果你真的想索引一个大的缓冲区,请将它的散列存储在另一个属性中,并对散列进行索引。请记住,您不需要列出dexie schema中的所有属性,只需列出要索引的属性即可

相关问题