Checking record existence withActiveRecord

For some reason ActiveRecord does not optimize .any? or .empty? calls, they result in

SELECT COUNT(*)

query. For optimal performance one should use .exists? which is translated to

SELECT 1

query.

Few other hints can be found here: http://jontai.me/blog/2014/05/activerecord-use-efficient-queries-for-counting/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s