探索 pg_tables
為了建立查詢計畫,查詢規劃器需要基本資訊,例如資料表名稱、欄位名稱,以及每個資料表或檢視表的列數。沒有這些資訊,規劃器就不知道為了找到在篩選條件中使用的特定欄位,需要掃描多少列。它也不會知道是否能使用索引搜尋。
這類中介資料(metadata)儲存在 pg_tables 結構中。更精確地說,規劃器會使用 pg_class 與 pg_stats。來看看這些物件包含哪些資訊。
本練習屬於課程
改進 PostgreSQL 的查詢效能
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
SELECT ___ -- Index indicator column
FROM pg_class
WHERE relname = 'daily_aqi';