Ben gördüğüm belgelere arasındaki farkı count(*)
ve count(pk)
. Ben kullanarak olmuştu count(pk)
(burada pk
bir olduğunu SERIAL PRIMARY KEY
varlığı hakkında bilmeden) değil count(*)
.
Sorum Postgres'in dahili optimizasyonları hakkında. SERIAL PRIMARY KEY
Her 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 EXPLAIN
ve EXPLAIN VERBOSE
için count(*)
, count(id)
ve count(id > 50)
görmek için EXPLAIN
onun çıktıda yüklemler kontrol bahsetti. Öyle değil.