【问题标题】:Lazy Loading in MongoDbMongoDb 中的延迟加载
【发布时间】:2011-06-22 05:04:45
【问题描述】:

MongoDb 中的延迟加载是什么? 如果我们想创建一个数据库,它是这样完成的:

m.getDB(<dbName>).getCollectionNames() 

仅由于延迟加载。谁能解释一下?

【问题讨论】:

  • 问题不清楚。请再举一个你想知道的例子。创建数据库与延迟加载有什么关系?
  • 这里回答了这个问题:stackoverflow.com/questions/3989791/…希望你觉得这个解释很有用。谢谢

标签: mongodb lazy-loading


【解决方案1】:

延迟加载不是数据库本身的能力。这意味着当客户端通过驱动程序(或 ORM)发出查询时,ORM 可以选择在进行查询时不加载整个对象图。它可以选择仅在实际使用/访问结果对象时才对数据库进行查询。

这同样独立于可以使用的数据库,并且通常内置于 ORM 本身中。这样做是出于优化/性能的原因,如果对象图的一部分并不总是被访问,那么如果我们在实际访问它的几个实例中延迟加载它就可以了。现在这意味着 ORM 将触发一个查询以在访问时加载该数据,然后将调用返回给客户端代码。

通常由应用程序开发人员指定对象图的哪些属性/部分应该立即加载,哪些应该延迟加载。

现在请记住,一些 nosql 选项可能具有使我们能够执行此操作的 ORM 功能,但是您将看到这种情况的最常见场景是在 RDBMS 世界中,并且成熟的 ORM 非常普遍。

您可以查找 hibernate 的延迟加载/延迟获取功能,以更好地了解总体概念。

【讨论】:

  • ORM 是仅用于 SQL 数据库的术语。 Hibernate 为基于文档的数据库创建了 OGM。
猜你喜欢
  • 1970-01-01
  • 2018-05-22
  • 2011-03-14
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多