【问题标题】:Slow remote queries慢速远程查询
【发布时间】:2013-04-15 18:16:45
【问题描述】:

我正在开发一个 Rails 应用程序,在开发过程中使用 SQLite,速度非常快。

我已经开始使用由 Amazon 托管的远程 MySQL 数据库,并且查询时间非常慢。除了尝试优化远程数据库,Rails 方面还有什么我可以做的吗?

【问题讨论】:

  • 这是非常开放的。你有什么更具体的东西可以让我们对其进行测试吗?你确定它是 SQLite 与 MySQL 的对比吗?您是否在两个系统中使用相似(理想情况下相同)的数据进行了测试?你确定不是你的 Rails 应用和亚马逊之间的网络时间吗?
  • 对 MySQL 查询的延迟可能是致命的。您确定您的服务器与 Amazon 数据库实例有良好的连接吗?

标签: mysql ruby-on-rails sqlite


【解决方案1】:

本地数据库访问与远程访问将显示出显着的速度差异。由于您没有提供任何细节,因此我无法在此问题上归零,但我可以提出建议:

尽可能多地尝试caching您的查询和视图。这将减少您需要执行的查询量。这尤其适用于菜单等静态数据。

Optimization 是关键。确保尽可能多地消除不必要的查询,并且您所做的查询仅使用 select 方法请求您需要的字段。

【讨论】:

    【解决方案2】:

    分析所涉及的各种组件。数据库服务器本身就是其中之一。网络延迟是另一个问题。虽然对于第二部分,您可能几乎无能为力,但您可能可以对第一部分进行很多调整。从分析查询开始,然后调整服务器本身。

    知道在哪里寻找将帮助您从最佳方法开始。至于缓存,请始终牢记这一点,但根据您的应用程序的性质,这可能会产生很大的问题。

    【讨论】:

      猜你喜欢
      • 2014-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-25
      • 2016-01-10
      • 2023-03-15
      • 2012-05-01
      • 2018-07-09
      相关资源
      最近更新 更多