PostgreSQL – Missing Index Script

PostgreSQL de eksik indexleri bulmka için kullanabileceğiniz güzel bir scriptimi paylaşıyorum arkadaşlar.

SELECT
  relname,
  seq_scan - idx_scan AS too_much_seq,
  CASE
    WHEN
      seq_scan - coalesce(idx_scan, 0) > 0
    THEN
      'Missing Index?'
    ELSE
      'OK'
  END,
  pg_relation_size(relname::regclass) AS rel_size, seq_scan, idx_scan
FROM
  pg_stat_all_tables
WHERE
  schemaname = 'public'
  AND pg_relation_size(relname::regclass) > 80000
ORDER BY
  too_much_seq DESC;

Kolay Gelsin.

2 Replies to “PostgreSQL – Missing Index Script”

  1. Merhaba,

    PostgreSql de yeniyim ,belirtiğiniz scripti çalıştırdğımda aşağıdaki hatayı alıyorum.
    Nedenine dair bir fikriniz varsa yardımınızı rica ederim.

    ERROR: HATA: “airitinerary” nesnesi mevcut değil

    SQL state: 42P01

    Airitinerary tablosu olmasına rağmen boyle bir hata veriyor.
    Postgres user’ı ile deneme yapıyorum.

    1. Postgres database i değilde tablonun olduğu veritabanı içerisinde bu scripti çalıştırmalısınız.

Leave a Reply

Your email address will not be published. Required fields are marked *