Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >rails 4应用程序中的Mongoid查询太慢

rails 4应用程序中的Mongoid查询太慢
EN

Stack Overflow用户
提问于 2014-06-03 09:38:08
回答 2查看 1.4K关注 0票数 1

我在mongoid (4.0.0 alpha1)中使用rails 4。问题在于,当我尝试在控制器中获取记录时,使用

代码语言:javascript
代码运行次数:0
复制
Model.where(:status => 'Active')

时间太长了(大约10秒)。当我试图在控制台中查询记录时,也会出现同样的问题。集合几乎有400+记录。

但是在mongodb控制台中获取记录

代码语言:javascript
代码运行次数:0
复制
db.collection.find({status: "Active"})

是快速的。

蒙古国有什么问题吗?有什么建议可以改善rails中的查询响应时间吗?

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-28 23:15:55

这一问题主要是由于嵌入式文档的大尺寸造成的。修正了只加载所需字段的问题,如

代码语言:javascript
代码运行次数:0
复制
Model.only(:name,:created_at)

代码语言:javascript
代码运行次数:0
复制
Model.without(:heavy_embedded_document_name)

此外,我们还修改了我们的数据库结构,以减少嵌入式文档和对象的大小。

票数 8
EN

Stack Overflow用户

发布于 2014-06-03 09:41:43

确保status有一个索引。您可以在MongoDB控制台中创建索引:

代码语言:javascript
代码运行次数:0
复制
db.collection.ensureIndex( { status: 1 } )

或在蒙古人

代码语言:javascript
代码运行次数:0
复制
class Person
  include Mongoid::Document
  field :status

  index({ status: 1 })
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24021572

复制
相关文章
Ruby On Rails 4 hello world,Ruby On Rails上手
有机会再试一试Rails了,仅仅是原来接触的是2,如今已然变成了4,似乎如今的安装比原来会快些。。
全栈程序员站长
2022/07/12
2.5K0
Ruby On Rails 4 hello world,Ruby On Rails上手
Ruby on Rails 基础(4)
安装Rails 检查环境 检查以下三个软件,确保已经安装 [root@h202 ruby]# ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux] [root@h202 ruby]# gem -v 2.5.1 [root@h202 ruby]# sqlite3 --version 3.6.20 [root@h202 ruby]# ---- 替换安装源 如果不替换源,会很慢,或者根本没法获取包,因为有墙 [root@h202 rub
franket
2021/11/25
1.2K0
使用SSH隧道保护三层Rails应用程序中的通信
在Ruby on Rails应用程序中,它可以轻易地映射到表示层的Web服务器,应用程序层的Rails服务器和数据层的数据库。在此设置中,应用程序层与数据层通信来检索应用程序的数据,然后通过表示层向用户显示该数据。
彼岸轮回
2018/08/13
5.7K0
Rails 容器与配置(4)
这个 ONBUILD 镜像可以用于大部分的Rails应用,它会完成类似如下的一些工作 :
franket
2021/10/20
9470
Rails MVC 和 CRUD(4)
结果展示了当前的一系列 Restfull API 与 Controller#Action 的对应关系
franket
2021/11/24
4050
Rails 3 Script/ 改版
相信如果之前用过 2.* rails 的人都知道. 我们习惯用 ./script/generate [xxxx] 或者 ./script/* [xxxx].
py3study
2020/01/10
7.1K0
Rails 构建评论功能(4)
生成控制器 [root@h202 blog]# rails generate controller Comments Running via Spring preloader in process 3855 create app/controllers/comments_controller.rb invoke erb create app/views/comments invoke test_unit create test/c
franket
2021/10/20
3460
如何从 MongoDB 迁移到 MySQL
最近的一个多月时间其实都在做数据库的迁移工作,我目前在开发的项目其实在上古时代是使用 MySQL 作为主要数据库的,后来由于一些业务上的原因从 MySQL 迁移到了 MongoDB,使用了几个月的时间后,由于数据库服务非常不稳定,再加上无人看管,同时 MongoDB 本身就是无 Schema 的数据库,最后导致数据库的脏数据问题非常严重。目前团队的成员没有较为丰富的 Rails 开发经验,所以还是希望使用 ActiveRecord 加上 Migration 的方式对数据进行一些强限制,保证数据库中数据的合法。
哲洛不闹
2018/10/18
5.4K0
如何从 MongoDB 迁移到 MySQL
为何Idea 中 Debug 运行太慢?
在项目中Debug过程中,突然发现使用Debug运行项目太慢,直接项目启动不起来了,但是Run模式则正常。
Vincent-yuan
2022/09/08
2.3K0
为何Idea 中 Debug 运行太慢?
CDN 适合您的 Rails 应用程序吗?适合大规模应用吗?
随着网站变得越来越复杂和内容繁多,页面加载时间已成为影响用户体验的关键因素。加快页面加载时间的一种解决方案是使用内容分发网络 (CDN)。在这篇博文中,我们将讨论什么是 CDN、为什么它很重要,以及您是否应该在 Rails 应用程序中使用它。
用户4235284
2023/10/14
1780
Rails 7 中引入 Bootstrap 5
在 Rails 6 中有两种不同的工具可以用来管理前端的 CSS、JavaScript 以及 images 等资源,分别是 “Sprockets” 和 “Webpacker”,“Sprockets” 除了 Rails 应用外很少使用,但是 “Webpacker” 不仅在 Rails 中,在其他应用框架中也被广泛的使用。
RiemannHypothesis
2023/02/20
3.1K0
Rails 7 中引入 Bootstrap 5
Rails 7 中引入 Bootstrap 5
在 Rails 7 中静态资源的管理已经从 “Webpacker” 改为了 “Import Maps”,用来简化基于 JavaScript 的工具和包管理器 Webpack、Yarn 或者 npm 的使用。
RiemannHypothesis
2023/03/16
2.5K0
Rails 7 中引入 Bootstrap 5
Spark查询太慢?试试这款MPP数据库吧!
Greenplum数据库是典型的主从架构,一个Greenplum集群通常由一个Master节点、一个Standby Master节点以及多个Segment实例组成,节点之间通过高速网络互连,如下图所示。Standby Master节点为Master节点提供高可用支持,Mirror Segment实例为Segment实例提供高可用支持。当Master节点出现故障时,数据库管理系统可以快速切换到Standby Master节点继续提供服务。
杰哥的IT之旅
2022/01/25
1.5K0
Spark查询太慢?试试这款MPP数据库吧!
硬盘太慢!内存太慢!网络太慢!全靠我来拯救!
俗话说,计算机编程的任何问题,都可以通过增加一个抽象层来解决,这句话用在我身上就太合适了。
Piper蛋窝
2020/12/15
1.1K0
ASP.NET MVC 4中的单页面应用程序
ASP.NET MVC 4 beta中包含了一个实验项目,用作开发“单页面应用程序(single page applications)”。该项目也称为ASP.NET SPA,其项目类型基于一组开源库以及WPF、Silverlight上流行的MVVM模式。 浏览器端 位于浏览器端技术组底部的是著名的jQuery库,与之一起的还有Unobtrusive Ajax、jQuery UI和jQuery Validation插件。 接下来的技术是Upshot。它是构建于jQuery和Knockout之上的数据访问和缓存
张善友
2018/01/19
1.6K0
如何在Ubuntu 14.04上使用PostgreSQL和Ruby on Rails应用程序
Ruby on Rails使用sqlite3作为其默认数据库,在许多情况下效果很好,但可能不适合您的应用程序。如果您的应用程序需要客户端/服务器SQL数据库(如PostgreSQL或MySQL)提供的可伸缩性,集中化和控制(或任何其他功能),则需要执行一些其他步骤才能启动并运行它。
温浪
2018/10/22
3.4K0
Python中查询缺失值的4种方法
在我们日常接触到的Python中,狭义的缺失值一般指DataFrame中的NaN。广义的话,可以分为三种。
快学Python
2022/06/10
4.3K0
Python中查询缺失值的4种方法
如何在Ubuntu 14.04上使用Git Hooks部署Rails应用程序
在本教程中,我们将向您展示如何使用Git hooks自动将Rails应用程序的生产环境部署到远程Ubuntu 14.04服务器。使用Git hooks将允许您通过简单地将更改推送到生产服务器来部署应用程序,而不必手动拉动并执行诸如执行数据库迁移之类的操作。当您继续处理应用程序时,设置某种形式的自动部署(例如Git hooks)将为您节省时间。
楠宝宝
2018/09/26
2.5K0
如何在Ubuntu 14.04上使用MySQL和Ruby on Rails应用程序
Ruby on Rails使用sqlite3作为其默认数据库,在许多情况下效果很好,但可能不适合您的应用程序。如果您的应用程序需要客户端/服务器SQL数据库(如PostgreSQL或MySQL)的可伸缩性,集中化和控制(或任何其他功能),则需要执行一些额外的步骤才能启动并运行它。
信姜缘
2018/10/22
4.9K0
数据量太大?查询搜索太慢?试试数据库postgresql
为什么会搜索太慢?。。。emmm,一个是代码优化不够,一个是搜索算法不行,还有就是数据太大了。你问我多大?大概会大到(30k*24*365*36)。。。为什么是这么算?你管我。。。。
一个有趣的灵魂W
2020/09/15
2.4K0
数据量太大?查询搜索太慢?试试数据库postgresql

相似问题

rails 4和mongoid减少查询次数

12

在Rails 4中安装mongoid

10

mongoid查询rails 3

21

rails 4 mongoid。mongoid_slug未安装

10

rails中基于MongoID的复杂查询

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档