【问题标题】:JavaScript Stored Function on MongoDB ServerMongoDB 服务器上的 JavaScript 存储函数
【发布时间】:2013-06-10 15:23:24
【问题描述】:

这与 mongodb 服务器中的 javascript 存储函数有关。我知道有关工作和用例的所有细节。我对 MongoDB 官方文档中的一行表示怀疑。

“注意:如果可能,我们不建议使用服务器端存储函数。”

事实上我的感受是,在迁移到 V8 JavaScript 引擎(改进 javascript 查询的并发问题)之后,考虑到这可以为我们节省很多网络往返时间,为什么 10gen 不推荐这样做?

【问题讨论】:

  • 我认为最好的地方是直接使用 10gen。你试过联系他们吗? (也许通过他们的 Jira 错误数据库,以便可以跟踪问题)。虽然我可以说它在某些情况下可能是一个有用的功能,但我可以看到它很容易被滥用,并且 10gen 很难以可持续和注重性能的方式构建和支持。
  • @WiredPrairie:是的,我会这样做。首先我会尝试 mongodb-user google group。谢谢
  • 10gen 有什么答案吗?我会很感兴趣的。
  • 存储过程在 MongoDB 中运行非常缓慢。对于每个匹配的文档,他们必须运行他们声称很慢的 JavaScript 评估。您可以在 mongo shell 中直接运行一个简单的示例查询(一个普通查询,另一个使用一些 JavaScript)来验证这实际上很慢。

标签: mongodb


【解决方案1】:

不建议这样做,因为 javascript 函数需要在执行期间获取写入锁定,这意味着您可能会导致写入性能出现瓶颈。

【讨论】:

  • 您可以选择提供“nolock”选项,它只会获取读锁
【解决方案2】:

一般来说存储过程有一些缺点:

https://stackoverflow.com/questions/462978/when-should-you-use-stored-procedures

但我理解你关于网络往返的观点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-30
    • 2016-04-15
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    相关资源
    最近更新 更多