Sử dụng kịch bản/hiệu suất/benchmarker:
script/performance/benchmarker 2000 "User.find_by_name('Joe').id" "User.first(:conditions => {:name => 'Joe'}, :select => 'id').id"
Trên máy dev của tôi, điều này báo cáo:
user system total real
#1 1.110000 0.070000 1.180000 ( 1.500366)
#2 0.800000 0.050000 0.850000 ( 1.078444)
Như vậy, phương pháp thứ 2 dường như nhanh hơn, vì nó có ít việc phải làm hơn. Tất nhiên, bạn nên đánh giá điều này trên máy sản xuất của mình, sử dụng môi trường sản xuất:
RAILS_ENV=production script/performance/benchmarker 2000 "User.find_by_name('Joe').id" "User.first(:conditions => {:name => 'Joe'}, :select => 'id').id"
Điều này có thể thay đổi một số điều kiện cho bạn.
Nguồn
2010-08-06 02:02:24
Vì '3.0' nó sẽ là' chuẩn đo lường đường ray ... ' – jibiel