码迷,mamicode.com
首页 > 其他好文 > 详细

rails性能优化

时间:2015-05-11 23:44:28      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

1. 性能优化的重要性

减轻服务器压力(量化起来就是执行时间)

增加使用者的好感(快!)

2. ActiveRecord:表关联

ActiveRecord可以用Associations来定义表之间的关联性。到目前为止我们学会了用ActiveRecord来操作数据库,但是还沒充分发挥关联式数据库的特性,那就是透过primary key和foreign keys将表互相关联起来

Primary Key这个字段在Rails中,照惯例叫做id,类型是整数且递增。而Foreign Key字段照惯例会叫做{model_name}_id,类型是整数

3. 关系Associations

belongs_to,has_one,has_many 参数 Class_name, foreign_key,conditions,order, dependent

Dependent 可以设定当对象刪除时,也会顺便删除它的has_many对象 :destroy 会执行attendee的destroy回呼 :delete 不会执行attendee的destroy回呼 :nullify 这是默认值,不会帮忙删除attendee

多对多,trough,如has_many :firms, :through => :firm_brands

4. 聊聊include

透过joins抓出來的event对象是沒有包括其关联对象的。如果需要其关联对象的记录,会使用includes。

includes可以预先将关联记录的也读取出來,避免N+1问题 

没有关系就没有include 所以要多用belongs_to,has_one,has_mang

5. 习惯

能用单引号的时候不要用双引号

写法尽量简单 如find(:all)

不必要的return,不必要的赋值

方法(特别是实例方法)中尽量减少查询,多用关系,在include中就可以很好的避免N+1

rails性能优化

标签:

原文地址:http://www.cnblogs.com/liupl/p/4495857.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!