PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Periksa target statistik di PostgreSQL

Setting untuk target statistik disimpan per kolom di tabel katalog pg_attribute . Anda dapat mengaturnya seperti ini:

ALTER TABLE myschama.mytable ALTER mycolumn SET STATISTICS 127;

Dan periksa seperti ini:

SELECT attstattarget
FROM   pg_attribute
WHERE  attrelid = 'myschama.mytable'::regclass
AND    attname = 'mycolumn';

Atau lihat saja skrip pembuatan di browser objek pgAdmin, yang ditambahkan jika nilainya berbeda dari default di default_statistics_target .

Saya mengutip manual di attstattarget :

attstattarget mengontrol tingkat detail statistik yang dikumpulkan untuk kolom ini dengan ANALYZE . Nilai nol menunjukkan bahwa tidak ada statistik yang harus dikumpulkan. Nilai negatif mengatakan untuk menggunakan target statistik default sistem. Arti yang tepat dari nilai-nilai positif bergantung pada tipe data. Untuk tipe data skalar, attstattarget adalah jumlah target dari "nilai paling umum" yang akan dikumpulkan, dan jumlah target bin histogram yang akan dibuat.

Tebal tekankan milikku.

Statistik untuk kolom indeks biasa identik dengan statistik kolom dan tidak memiliki entri terpisah dalam tabel statistik. Tetapi Postgres mengumpulkan statistik terpisah untuk ekspresi indeks . Itu dapat diubah dengan cara yang sama:

ALTER INDEX myschema.myidx ALTER COLUMN 1 SET STATISTICS 128;

Dengan tidak adanya nama kolom yang sebenarnya, nomor urut digunakan untuk menangani kolom indeks, yang sesuai dengan pg_attribute.attnum :

SELECT attstattarget
FROM   pg_attribute
WHERE  attrelid = 'myschama.myidx'::regclass
AND    attnum = 1;

Pengaturan hanya benar-benar mempengaruhi statistik kolom pada waktu berikutnya ANALYZE sedang dijalankan secara manual atau dengan autovacuum .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Failover &Failback untuk PostgreSQL di Microsoft Azure

  2. Cara Membuat Total Periode Bergulir

  3. Bagaimana cara menggunakan ALIAS dalam klausa ORDER BY PostgreSQL?

  4. DROP FUNCTION tanpa mengetahui jumlah/jenis parameter?

  5. Menambahkan batasan satu-dari-dua bukan nol di postgresql