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 book lover

Growing Rails Applications in Practice

Check out our e-book. Learn to structure large Ruby on Rails codebases with the tools you already know and love.

  • Introduce design conventions for controllers and user-facing models
  • Create a system for growth
  • Build applications to last
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)