我想知道何时将一个数据库与一个具有多个对象存储的数据库放在一起是一个好主意。我已经阅读了Web上的大多数教程,并查看了indexedDB的规范,但找不到比较这些不同概念的好例子。有没有人有这样一个具体的例子(使用多个对象存储和/或代码的设计模型)?
答案 0 :(得分:10)
只要对象库之间没有交叉事务处理操作,就可以将它们分成多个数据库。我更喜欢尽可能多地使用单独的数据库,以便在较小的对象存储数据库中更容易进行模式更改。
在极少数情况下,即使需要交叉交易,我甚至会使用单独的数据库。在用户设置数据库和应用程序数据库之间找到这些情况用户设置和应用程序之间的不一致很好,因为事实是在用户设置中,暂时的不一致并不重要。
请注意,打开数据库的成本很高。但是一旦打开,连接就没有内存消耗。数据库的数量没有限制。
多个数据库将具有比具有多个对象存储的单个数据库更高的thourghput,因为Firefox的实现在任何写入事务上锁定整个数据库。