当前位置:  开发笔记 > 后端 > 正文

在Ruby on Rails应用程序中使用MySQL视图来提高性能

如何解决《在RubyonRails应用程序中使用MySQL视图来提高性能》经验,为你挑选了1个好方法。



1> vladr..:

视图的"问题"(在这种情况下,您可能想要一个物化视图,假设复杂查询所基于的数据不会经常更改)是您在某种程度上违反了Rails的DRY'(为视图添加了UserV模型,纯粹主义者认为这是用户模型的重复.)

因此,理想的解决方案是为您的复杂查询充分利用RDBMS.如果未缓存的查询仍然需要很长时间才能执行(你仍然必须运行它们来填充memcached),或者如果你不能容纳一点时间 - 软糖(即缓存的结果,那么Memcached将无法帮助你)必须是实时精确的)和/或所涉及的表经常被修改.

在MySQL中,看看你是否可以进一步优化查询,因此需要几毫秒而不是秒(添加适当的索引,运行ANALYZE等)

如果您可以选择使用/尝试其他RDBMS,例如Postgres,请务必尝试一下. 与其他基于成本的引擎(如Oracle和Postgres)相比,MySQL在复杂连接(InnoDB)方面令人震惊.我从MySQL切换到Postgres,在MySQL上使用30s +的复杂连接(所有索引就位)在Postgres上花费了几毫秒.如果玩Postgres充分利用PGAdminIII的图形解释计划工具.

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有