add a comment to the usage of a anti-pattern query
This commit is contained in:
parent
b4e2cc4421
commit
f7ef78a7b5
|
@ -31,6 +31,12 @@ module Ci
|
|||
scope :active, -> { where(active: true) }
|
||||
scope :paused, -> { where(active: false) }
|
||||
scope :online, -> { where('contacted_at > ?', contact_time_deadline) }
|
||||
# The following query using negation is cheaper than using `contacted_at <= ?`
|
||||
# because there are less runners online than have been created. The
|
||||
# resulting query is quickly finding online ones and then uses the regular
|
||||
# indexed search and rejects the ones that are in the previous set. If we
|
||||
# did `contacted_at <= ?` the query would effectively have to do a seq
|
||||
# scan.
|
||||
scope :offline, -> { where.not(id: online) }
|
||||
scope :ordered, -> { order(id: :desc) }
|
||||
|
||||
|
|
Loading…
Reference in New Issue