Javascript 领域中的模式太多是件坏事吗?

Javascript 领域中的模式太多是件坏事吗?,javascript,react-native,database-design,orm,realm,Javascript,React Native,Database Design,Orm,Realm,我们有一个用例,它要求我们的数据库有许多相似但不同的模式。这些模型中的大多数平均只有0-4行,除少数之外的大多数根本不会被使用 我们添加的每个产品大约需要2-4个模式(取决于树级别,因为有些产品需要列表中的列表),我们计划添加许多产品。完成后,我们可以看到100多个模式,每个模式的行数最少 于是问题来了: 将这么多模式加载到领域中是否会导致性能下降 拥有许多模式是否存在与性能无关的明显缺点 另一种方法是创建具有共享属性的“一刀切”模式,并具有用于存储序列化json数据的misc属性。这似乎有

我们有一个用例,它要求我们的数据库有许多相似但不同的模式。这些模型中的大多数平均只有0-4行,除少数之外的大多数根本不会被使用

我们添加的每个产品大约需要2-4个模式(取决于树级别,因为有些产品需要列表中的列表),我们计划添加许多产品。完成后,我们可以看到100多个模式,每个模式的行数最少

于是问题来了:

  • 将这么多模式加载到领域中是否会导致性能下降

  • 拥有许多模式是否存在与性能无关的明显缺点


另一种方法是创建具有共享属性的“一刀切”模式,并具有用于存储序列化json数据的misc属性。这似乎有点骇人听闻,我可以从中看到问题。优点是我们只有少量的模式

对此,我没有一个客观的答案,不过,我将分享一下我在实现领域方面的一些经验

我的应用程序有大约50个模式,我还没有发现有任何问题

我以前也尝试过您的替代解决方案(一刀切),我几乎可以肯定,这种解决方案比使用太多模式更糟糕。你丢失json数据去序列化的时间会让你的应用程序非常慢


我希望它能帮助你,或者至少能让你感觉到前进的方向。

创建新领域文件和打开现有领域文件的时间会随着模式中对象类型的数量而有所增加,因此从理论上讲,这最终可能会起作用。在实践中,创建或打开文件的固定成本会使您在拥有数百种对象类型之前一直处于矮化状态,即使如此,它也可能不会慢到令人担忧的程度

一旦领域文件被打开,对大量对象类型应该没有性能影响