Sha*_*riq 1 ruby-on-rails mongodb mongoid ruby-on-rails-4
我正在使用带有mongoid(4.0.0 alpha1)的rails 4.问题是,当我尝试使用控制器获取记录时
Model.where(:status => 'Active')
Run Code Online (Sandbox Code Playgroud)
这需要太长时间(大约10秒).当我尝试在控制台中查询记录时,问题也一样.Collection有近400多条记录.
但是在mongodb控制台中获取记录
db.collection.find({status: "Active"})
Run Code Online (Sandbox Code Playgroud)
很快
mongoid 4.0.0.alpha1有什么问题吗?有任何建议如何改善rails中的查询响应时间?
提前致谢
问题主要是由于嵌入式文档的大小.通过仅加载必填字段来解决问题
Model.only(:name,:created_at)
Run Code Online (Sandbox Code Playgroud)
要么
Model.without(:heavy_embedded_document_name)
Run Code Online (Sandbox Code Playgroud)
我们还修改了数据库结构,以减少嵌入式文档和对象的大小.
| 归档时间: |
|
| 查看次数: |
1087 次 |
| 最近记录: |