我正在开发一个 Rails 应用程序,并且在开发过程中使用 SQLite,速度非常快。
我已经开始使用由 Amazon 托管的远程 MySQL 数据库,并且查询时间非常慢。除了尝试优化远程数据库之外,我还能在 Rails 方面做些什么吗?
我正在开发一个 Rails 应用程序,并且在开发过程中使用 SQLite,速度非常快。
我已经开始使用由 Amazon 托管的远程 MySQL 数据库,并且查询时间非常慢。除了尝试优化远程数据库之外,我还能在 Rails 方面做些什么吗?
本地数据库访问与远程将显示出显着的速度差异。由于您没有提供任何细节,我无法在这个问题上归零,但我可以提出一个建议:
尝试尽可能多地缓存您的查询和视图。这将减少您需要执行的查询量。这特别适用于菜单等静态数据。
优化是关键。确保尽可能多地消除不必要的查询,并且您所做的那些查询仅请求使用该select
方法所需的字段。
Profile the various components involved. The database server itself is one of them. The network latency is another. While for the second one probably there is little you can do, probably you can tweak alot the first part. Starting from profiling the queries and going to tweaking the server itself.
Knowing where to look for will help you start with the best approach. As for caching, always keep that in mind, but that can prove to be quite problematic depending on the nature of your application.