提升 PostgreSQL 查询性能
Amy McCarty
Instructor
SELECT *
FROM ...
| 描述 | 有组织的存储 |
| 包含 | 数据 |
| 加载 | 抽取-转换-加载(ETL)流程 |
| 来源 | 人力资源系统、客户管理系统、问卷收集等 |
| 描述 | 有组织的(行/列)存储 |
| 包含 | 数据 |
| 加载 | 查询(临时) |
| 来源 | 现有基础表 |
CREATE TEMP TABLE my_temptable AS
SELECT *
FROM survey_monkey_results
WHERE survey_date >= '2019-01-01';
SELECT * FROM my_temptable
| 描述 | 已存储查询 |
| 包含 | 指令 / 视图定义 |
| 加载 | 从不 |
| 来源 | 现有基础表 |
视图用途
| 描述 | 已存储查询 | _视图_ |
| 包含 | 数据 | _表_ |
| 加载 | 刷新流程 | _表_ |
| 来源 | 现有基础表 | _视图_ |
物化视图用途
| What | Why |
|---|---|
| Table | 基础存储 |
| Temp table | 加速大表查询 |
| View | 复杂逻辑或计算列 |
| Materialized view | 复杂逻辑影响性能时使用 |
SELECT table_type
FROM information_schema.tables
WHERE table_catalog = 'orders_schema'
AND table_name = 'customer_table'
提升 PostgreSQL 查询性能