【问题标题】:How to optimize IndexedDb performance? Multiple indexeddb vs multiple objectstores?如何优化 IndexedDb 性能?多个 indexeddb 与多个对象存储?
【发布时间】:2020-12-23 01:31:52
【问题描述】:

我发现了这个特殊的问题:IndexedDB - ObjectStores vs multiple databases vs indices?

但是它并没有完全回答我的问题。我的情况是应用程序的多个部分以不同的方式使用 indexedDb。 indexedDb 的一个特定实例需要尽可能快 ("high-priority") 并且它总共只存储 60-100kb。另一个需要在页面呈现后(可能在 1-2 秒后)("low-priority") 使用它,它最多可以存储 1.5mb 的数据。

目前我让应用程序的每个部分都调用一个通用 indexedDb 库来创建自己的 indexedDb 实例,这会产生 4-5 个实例。

现在我的问题是,将这些不同的实例移动到具有多个对象存储的单个实例中会更好吗?每个实例都可以使用自己的密钥与自己的对象存储进行交互。

这里的数字 1 是现有架构,数字 2 是新的提案设计。

基本上我的问题是,移动到 2 号提案会导致“高优先级”表的访问速度比以前慢吗?如果变化不是很大,我想移到第 2 位以避免打开多个 indexedDb 实例,从而提高整体性能。

【问题讨论】:

    标签: javascript typescript performance indexeddb


    【解决方案1】:

    我建议您使用单个数据库。某些集合的性能负载不会显着影响其他集合的性能负载。

    【讨论】:

      【解决方案2】:

      我已经为这个场景做了一个测试,我为两个不同的 indexedDbs 做了 indexedDb.open()。一个大小为 28mb,另一个大小为 1kb。

      使用性能 API 测量所用时间时,差异很小(1.8 毫秒与 2.2 毫秒)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-08
        • 2016-07-25
        • 2016-10-19
        • 2014-08-13
        • 2012-12-14
        相关资源
        最近更新 更多