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
| 説明 | 保存されたクエリ |
| 内容 | 手順/ビュー定義 |
| 読み込み | なし |
| ソース | 既存の基本テーブル |
ビューの利点
| 説明 | 保存されたクエリ | ビュー |
| 内容 | データ | テーブル |
| 読み込み | 更新プロセス | テーブル |
| ソース | 既存の基本テーブル | ビュー |
マテリアライズド・ビューの利点
| 何 | 目的 |
|---|---|
| テーブル | 基本ストレージ |
| 一時テーブル | 大きなテーブルのクエリを高速化 |
| ビュー | 複雑なロジックや計算列 |
| マテリアライズド・ビュー | パフォーマンスを落とす複雑なロジックに対応 |
SELECT table_type
FROM information_schema.tables
WHERE table_catalog = 'orders_schema'
AND table_name = 'customer_table'
PostgreSQLでクエリ性能を改善する