Bir tabloda 5000 veya 500000 veya 5000000000 kayıt varsa ve gereksinim tablonun toplam satır sayısını bulmaksa, Veritabanı Geliştiricisi çoğu satır sayısını almak için COUNT (*) değerini her zaman çalıştırır. Fakat değerler yükseldikçe sorgu sonucunun dönmesi geç cevap vermekte. Ekip üyelerimizin çoğunun COUNT (*) çalıştırdığını ve bunu 5000000000 satır içeren bir tabloda yaptığını hayal edin. Gelme süresi çok çok uzun olacaktır. Aynı zamanda yüksek I/O ve CPU tüketimine sebebiyet verecektir.
Belirli bir süre için tam satır sayısı gerekiyorsa, COUNT (*) zorunludur.
Fakat sayımın kesin olması gerekmiyorsa, bunu çarpıcı bir şekilde hızlandırabilirsiniz.
Satır sayısını bulmak için meta satır tablosunu veya istatistiksel tabloyu kullanabilirsiniz; bu, gerçek satır sayımı ile tamamen aynıdır.
Çünkü MVCC’nin doğası, bazen gerçek kayıt sayısı ve istatistiksel tablonun kayıt sayısı arasındaki farkı bulabilirsin.
Yöntem 1 :
SELECT reltuples::bigint AS EstimatedCount FROM pg_class WHERE oid = 'public.TableName'::regclass;
Yöntem 2 :
SELECT schemaname ,relname ,n_live_tup AS EstimatedCount FROM pg_stat_user_tables ORDER BY n_live_tup DESC;
Kolay Gelsin.