对于大尺寸dexie,写入缓冲区失败

问题描述 投票:0回答:1

我正在尝试将 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

想要查看任何错误日志,但没有找到

indexeddb dexie
1个回答
0
投票

请参考Dexie JS:非常大的IndexedDB但空表

基本上,大缓冲区不应该被索引。首先是因为您没有理由对其进行索引。其次,因为这会让indexeddb维护索引变得非常困难。你想存储它,是的!但是您想将其作为 where 子句中的键进行搜索吗?可能不会。如果您确实想要索引一个大缓冲区,请将其哈希存储在另一个属性中并索引该哈希。请记住,您不需要列出 dexie 模式中的所有属性,只需列出要索引的属性

© www.soinside.com 2019 - 2024. All rights reserved.