改進 PostgreSQL 的查詢效能
Amy McCarty
Instructor
SELECT *
FROM ...
| Describe | 組織化儲存 |
| Contains | 資料 |
| Loaded | extract, transform, load (ETL) 流程 |
| Source | 人資系統、客戶管理系統、問卷蒐集等 |
| Describe | 組織化(列、欄)儲存 |
| Contains | 資料 |
| Loaded | 查詢(暫時) |
| Source | 既有基礎資料表 |
CREATE TEMP TABLE my_temptable AS
SELECT *
FROM survey_monkey_results
WHERE survey_date >= '2019-01-01';
SELECT * FROM my_temptable
| Describe | 已儲存的查詢 |
| Contains | 指令/檢視定義 |
| Loaded | 不會 |
| Source | 既有基礎資料表 |
檢視的用途
| Describe | 已儲存的查詢 | view |
| Contains | 資料 | table |
| Loaded | 重新整理程序 | table |
| Source | 既有基礎資料表 | view |
具現化檢視的用途
| 物件 | 原因 |
|---|---|
| Table | 基礎儲存 |
| Temp table | 加速大型資料表的查詢 |
| View | 複雜邏輯或計算欄位 |
| Materialized view | 複雜邏輯導致效能變慢時 |
SELECT table_type
FROM information_schema.tables
WHERE table_catalog = 'orders_schema'
AND table_name = 'customer_table'
改進 PostgreSQL 的查詢效能