【问题标题】:How slow is a call to a local database? [closed]调用本地数据库有多慢? [关闭]
【发布时间】:2013-08-01 22:29:28
【问题描述】:

一般来说,假设您在与您的服务器在同一台机器上运行的数据库中有一个 (

  1. 获取整个表,并在服务器代码中执行所有搜索/查询/。
  2. 对本地数据库进行大量查询。

如果数据库是本地的,我是否可以利用dbms的高效内部数据结构进行查询,或者延迟以便将数据库返回的表映射到我自己的数据结构中更快。

谢谢。

【问题讨论】:

  • 我们没有水晶球。您需要分析您自己的应用程序。许多因素可能在起作用。这将取决于您如何组织内存中的副本
  • 没有明确的答案,因为它取决于查询的性质以及数据的大小和结构。您必须进行比较测试,但我敢打赌数据库运行查询的速度比您能快。
  • @sehe 好的,这实际上非常有用。我只需要知道本地调用足够低,需要进行分析/比较测试,而且不明显

标签: node.js mongodb performance database


【解决方案1】:

这在很大程度上取决于您正在执行的搜索类型。

  • 如果您的数据都是 ID 查找,那么将其放在 RAM 中可能会更快。
  • 如果您的数据全部是完整扫描(无索引),那么将其放在 RAM 中可能会更快。
  • 如果您的数据使用索引,则将其放在数据库中可能会更快。

当然,数据库的大部分吸引力在于索引和通用查询接口,因此您必须权衡它们的价值与原始速度。

如果不确切了解数据的性质和要对其进行的查询,就无法真正回答这个问题。在线时间有其成本,BSON 本机编组也是如此,但索引搜索可以是 O(log n),而不是对简单的内存数据进行愚蠢的 O(n)(或更糟)搜索结构。

您是否尝试过基准测试?

【讨论】:

  • 还没有。我只需要知道进行本地数据库查询的成本顺序。从我现在被告知的情况来看,它似乎足够低,需要进行分析/分析
  • 目前,我都是在 RAM 中完成的;但我发现自己实现了很多 DB 在内部做的事情(只会更好)。我的自然想法是,DB 能不能做得这么快,以至于值得进行港口呼叫
猜你喜欢
  • 1970-01-01
  • 2013-06-08
  • 1970-01-01
  • 2013-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
  • 2018-10-12
相关资源
最近更新 更多