- 浏览: 148755 次
- 性别:
- 来自: 北京
文章分类
最新评论
http://rails-bestpractices.com/posts/29-fix-n-1-queries
N+1 Queries is a serious database performance problem. Be careful of that situation! If you're not sure, I recommend you install http://github.com/flyerhzm/bullet plugin, which helps you reduce the number of queries with alerts (and growl).
Sample Model code
When @users.each in view, it cause N+1 queries. (N is 20 in this case)
Refactor
Add :include into query, so the number of queries reduces to only 2.
总结: 某种时候include 是必须的
N+1 Queries is a serious database performance problem. Be careful of that situation! If you're not sure, I recommend you install http://github.com/flyerhzm/bullet plugin, which helps you reduce the number of queries with alerts (and growl).
Sample Model code
# model class User < ActieRecord::Base has_one :car end - class Car < ActiveRecord::Base belongs_to :user end Bad Smell # your controller def index @users = User.paginate( :page => params[:page], :per_page => 20 ) end # view <% @users.each do |user| %> <%= user.car.name %> <% end %>
When @users.each in view, it cause N+1 queries. (N is 20 in this case)
Refactor
# your controller def index @users = User.paginate( :include => :car, :page => params[:page], :per_page => 20 ) end
Add :include into query, so the number of queries reduces to only 2.
总结: 某种时候include 是必须的
发表评论
-
Google App Engine and others
2010-09-15 11:27 799有用的技术文章 先记载 有空 研究下 さくっとRails ... -
基于jquery和mini_magick的图片裁剪
2010-09-15 11:07 1455引用网址 http://duyouhua1214.iteye ... -
ruby gem相关命令使用
2010-08-26 12:45 1596gem相关命令使用 1.显示gem的帮助和版本 gem – ... -
深入理解alias, alias_method和alias_method_chain
2010-08-06 17:14 969http://blackanger.blog.51cto.co ... -
Rails 3 特点
2010-08-06 16:38 912真的想留下来 http://railslove.com/w ... -
query-reviewer sql explain and review in the page
2010-08-06 12:20 1325引用网址 http://github.com/dsboulde ... -
request-log-analyzer log分析工具
2010-08-06 12:03 1612参考网址: http://github.com/wvanber ... -
IE7 Bug导致Rails Session保存失败
2010-08-06 10:56 972http://www.letrails.cn/archives ... -
Rails保存记录而不更新时间戳
2010-08-06 10:54 1350引用地址: http://www.letrails.cn/a ... -
how to generate qrcode on ror
2010-02-04 16:27 8721. In your rails project, in ... -
rmagick ror 上 安装
2009-11-18 09:06 856rmgick 安装规范 ror很多人现在在用了,但是发现 ... -
Update Rails to 2.2.2 (Rails 2.2.2)
2009-03-08 14:53 988gem install -v=2.2.2 rails Suc ... -
Use helpers in controllers or models
2009-01-19 16:22 928引用http://snipplr.com/view/2505/ ... -
open-flash-chart
2008-11-07 14:07 2429http://pullmonkey.com/2008/7/23 ... -
rake db:migrate
2008-11-07 11:58 1279【ruby on rails】rake db:migrate ... -
rss maker
2008-11-07 11:43 1093http://gdgdlog.net/log/show/130 ... -
acts_as_authenticated
2008-11-07 11:35 1112ruby script/plugin install act ... -
validates
2008-11-07 11:24 1065先週ずっとインフルエンザでダウンしてました。 今日はvail ... -
rails で model の変更を監視するプラグイン
2008-11-07 11:12 1363acts_as_modified モデルの変更を監視して、各 ... -
exception_notification
2008-11-07 11:03 12011 applicattion.rb 配置 incl ...
相关推荐
《IDEFixPack与FastDCC在Delphi开发中的应用与详解》 在Delphi的开发过程中,有时我们会遇到一些运行时错误,这些问题可能源于编译器的兼容性问题或者组件库的不匹配。"IDEFixPack+fastdcc(2009-XE10.3).7z"这个...
表3-8展示了1QN格式数据的例子,如1Q7(或Fix9_7)格式,其中包含了+1、-1和+π/4及-π/4的表示。表3-9则提供了2QN格式相位的例子,如2Q6(或Fix9_6)格式,展示了+1、-1、+π和-π的表示。 在CORDIC(CORDIC,坐标...
标题 "DevExpressVCL+17.2.4+V1+XE-RAD10.2.2+FullSource+Fix+By+Flying+Wang+自动编译安装+带汉化包+V2018-02-14.zip" 暗示了这是一个包含DevExpress VCL组件的压缩包,版本为17.2.4,由Flying Wang修复并提供了...
标题中的“【Microsoft+Fix+it卸载+Office2007专用工具】.rar”表明这是一款由微软(Microsoft)提供的专门用于卸载Office 2007的自动化工具。"Microsoft Fix it"是微软推出的一个自动化故障排除和修复服务,它能够...
《FastReport 5.6.1:专业报表解决方案详解》 FastReport 5.6.1是一款备受赞誉的报表设计工具,专为Delphi开发者设计,涵盖了从D7到XE10.2等多个版本的Delphi环境。这款强大的报表引擎以其易用性、灵活性和高效性,...
快速解决 建筑和安装 Full instructions: ...Quick instructions: ./bootstrap ./configure make make check sudo make install 对于SunOS和AIX,请查看README.SunOS和README.AIX。... 可以使用相对较新版本的cmake...
1. 引入依赖:首先需要在项目中引入PageHelper的JAR包,例如`pagehelper-3.4.2-fix.jar`。如果是Maven项目,可以在pom.xml文件中添加对应的依赖项。 2. 配置PageHelper:在项目的配置文件(如mybatis-config.xml)...
Microsoft Fix it,系统修复工具。
在标题和描述中提到的"FastReports+5.2.12+Fix FS"和"FastReports+5.2.12 FS"指的是FastReports的5.2.12版本,其中可能包含了修复程序或者更新,FS可能是“Final Solution”或者“Fixed Version”的缩写,意味着这是...
1. **多格式支持**:软件可能支持多种文档格式的导入,方便用户整合不同来源的内容。 2. **可视化编辑**:提供直观的界面,让用户可以通过拖放操作来排列和调整页面内容。 3. **模板库**:内置各种预设的页面模板,...
s(k,3)=(q+1)*(n+1)+r-n+1; s(k,4)=(q+1)*(n+1)+r-n; s(k,5)=(r-n-1)*h; s(k,6)=q*h; s(k,7)=(r-n)*h; s(k,8)=(q+1)*h; s(k,9)=(r-n-1)*h; s(k,10)=(q+1)*h; end end ``` 四、有限元方法的应用 在本文中...
Fix the word-completion hanging problem by typing Chinese in ANSI document under Chinese Windows 7/8 64 bits. Enable word-completion in ANSI document under CJK environment. Add wildcard capacity ...
我从网上下载了一个GA-PSO算法,试着利用GA和PSO组合...我下载原始算法,有一个问题就是它是针对所有的设计变量上下限都是一样的,所以我对程序进行了修改与改进,现在可以处理上下限不一致的问题,同时fix了一些bug。
canflashtool
字段tag35-MsgType用于区分FIX消息的类型,但对于FIX网关,同一消息类型可能包含多种目的,为将其良好区分开,针对tag35-MsgType相同,目
Fix memory leak problem while switching tab. Fix User Defined Language dialog docking problem under Windows 7. Fix backwards search with Asian codepage problem. Add a new capacity in context menu: the...
微软GDI+图片漏洞360专用补丁包360gdi_fix.exe 微软GDI+图片漏洞360专用补丁包360gdi_fix.exe
FixUpdate与Update的区别 在 Unity 开发中, FixUpdate 和 Update 是两个常用的函数,但它们之间存在着重要的区别。今天,我们将深入探讨 FixUpdate 和 Update 的不同之处,并了解何时使用它们。 首先,让我们从 ...
lint-fix-nodemon 观看文件并在保存时运行ESLint + fix + nodemon 为什么需要这个? eslint修复文件时避免两次重新启动(nodemon通常会先检测到初始更改,然后再检测到修复更改) 如果挂起或启动服务器失败,请...
1. **python27.dll**:这是Python 2.7版本的运行时库文件,为程序提供Python解释器功能。 2. **tk85.dll** 和 **tcl85.dll**:这两个文件属于Tcl/Tk库,用于图形用户界面(GUI)的创建,可能被用来构建Leatrix ...