实际上我在使用MySql DataBase的WebSite中工作,我想知道哪两种形式更好:
使用该对象创建其他查询:
@inform=Dailyinform.where(:scheduled_start => (@@datestart..@@dateend)).order("scheduled_start DESC").searchServer(@@serverSearch).searchDomain(@@domain_name)
@dailyInforms=@inform.where.not(:status => 'COMPLETED').searchFailed.page(params[:page]).per_page(5000)
@restarts=@inform.searchRelaunched.order("scheduled_start DESC").page(params[:page]).per_page(5000)
或直接使用ActiveRecord模型 - 基础:
@dailyInforms=Dailyinform.where.not(:status => 'COMPLETED').where(:scheduled_start => (@@datestart..@@dateend)).order("scheduled_start DESC").searchFailed(@@serverSearch).page(params[:page]).per_page(5000)
@restarts=Dailyinform.where(:scheduled_start => (@@datestart..@@dateend)).order("scheduled_start DESC").search2(@@serverSearch).page(params[:page]).per_page(5000)
我的问题出现了,因为我觉得第二种方式比第一种方式更快。也许只是我的印象!感谢
答案 0 :(得分:1)
在性能方面,我认为没有任何区别。活动记录在进行查询时很擅长懒惰,在你真正尝试使用结果之前它不会执行任何操作。
出于这个原因,我会说第一种方法更可取,因为它更干。