Read more

Heads up: counting may be slow in PostgreSQL

Michael Leimstädtner
May 31, 2021Software engineer at makandra GmbH

The linked article points out that COUNT queries might be unexpectetly slow in psql.

Illustration online protection

Rails professionals since 2007

Our laser focus on a single technology has made us a leader in this space. Need help?

  • We build a solid first version of your product
  • We train your development team
  • We rescue your project in trouble
Read more Show archive.org snapshot

If you just need to know "are there any records" use any?. This uses SELECT 1 AS one FROM ... LIMIT 1 under the hood.
If you just need to know "are there no records" use empty? or none?. This uses SELECT 1 AS one FROM ... LIMIT 1 under the hood.

In short: Replace foo.count > 0 with foo.any? or foo.count == 0 with foo.none?

Posted by Michael Leimstädtner to makandra dev (2021-05-31 08:18)