Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何优化IndexedDb性能?多索引数据库与多对象存储?_Javascript_Typescript_Performance_Indexeddb - Fatal编程技术网

Javascript 如何优化IndexedDb性能?多索引数据库与多对象存储?

Javascript 如何优化IndexedDb性能?多索引数据库与多对象存储?,javascript,typescript,performance,indexeddb,Javascript,Typescript,Performance,Indexeddb,我发现了一个特别的问题: 然而,它并没有完全回答我的问题。我的情况是,应用程序的多个部分以不同的方式使用indexedDb。indexedDb的一个特定实例需要尽可能快(“高优先级”),它总共只存储60-100kb。另一个需要在页面呈现时(可能在1-2秒后)使用它,并且它可以存储高达1.5mb的数据 目前,我让应用程序的每个部分调用一个公共indexedDb库来创建自己的indexedDb实例,结果是4-5个实例 现在我的问题是,将这些不同的实例移动到具有多个objectstores的单个实例中

我发现了一个特别的问题:

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

目前,我让应用程序的每个部分调用一个公共indexedDb库来创建自己的indexedDb实例,结果是4-5个实例

现在我的问题是,将这些不同的实例移动到具有多个objectstores的单个实例中是否更好。每个实例都可以使用自己的密钥与自己的objectstore交互

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


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

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

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

使用性能API测量所用时间时,差异最小(1.8ms vs 2.2ms)