Ben gördüğüm belgelere arasındaki farkı count(*)ve count(pk). Ben kullanarak olmuştu count(pk)(burada pkbir olduğunu SERIAL PRIMARY KEYvarlığı hakkında bilmeden) değil count(*).
Sorum Postgres'in dahili optimizasyonları hakkında. SERIAL PRIMARY KEYHer satırda a'nın var olacağını ve asla yanlış olmayacağını ve sadece satırları sayacağını alacak kadar akıllı mı yoksa her satır için fazladan yüklem kontrolleri yapacak mı? Bunun muhtemelen anlamsız bir optimizasyon olduğunu kabul ediyorum, ama sadece merak ediyorum.
Ben çıkışında bir göz attım EXPLAINve EXPLAIN VERBOSEiçin count(*), count(id)ve count(id > 50)görmek için EXPLAINonun çıktıda yüklemler kontrol bahsetti. Öyle değil.