เจฆเฉเจเจฐเจพ เจเจ เจพเจ เจเจ เจตเฉฑเจกเฉ เจกเฉเจเจพ เจธเจเฉเจฐเฉเจฎ เจจเฉเฉฐ เจฐเจฟเจเจพเจฐเจก เจเจฐเจจ เจฆเฉ เจตเจฟเจธเจผเฉ เจจเฉเฉฐ เจเจพเจฐเฉ เจฐเฉฑเจเจฃเจพ
เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจพเจเจเฉ TOAST เจธเฉเจเจฟเฉฐเจเจพเจ เจ เจคเฉ เจกเจพเจเจพ เจ เจฒเจพเจเจจเจฎเฉเจเจ. โเจเจธเจคเจจ,โ เจเจน เจตเจฟเจงเฉเจเจ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจธเจฐเฉเจคเจพเจ เจฆเฉ เจฌเฉฑเจเจค เจจเจนเฉเจ เจเจฐเจจเจเฉเจเจ, เจชเจฐ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจเฉเจก เจจเฉเฉฐ เจธเฉเจงเฉ เจฌเจฟเจจเจพเจเฅค
เจนเจพเจฒเจพเจเจเจฟ, เจธเจพเจกเจพ เจคเจเจฐเจฌเจพ เจเจธ เจธเจฌเฉฐเจง เจตเจฟเฉฑเจ เจฌเจนเฉเจค เจฒเจพเจญเจเจพเจฐเฉ เจธเจพเจฌเจค เจนเฉเจเจ, เจเจฟเจเจเจเจฟ เจฒเจเจญเจ เจเจฟเจธเฉ เจตเฉ เจจเจฟเจเจฐเจพเจจเฉ เจฆเจพ เจธเจเฉเจฐเฉเจ เจเจธเจฆเฉ เจธเฉเจญเจพเจ
เจฆเฉเจเจฐเจพ เจเจฟเจเจฆเจพเจคเจฐ เจเฉเฉ-เจธเจฟเจฐเจซเจผ เจฐเจฟเจเจพเจฐเจก เจเฉเจคเฉ เจกเฉเจเจพ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ. เจ
เจคเฉ เจเฉเจเจฐ เจคเฉเจธเฉเจ เจธเฉเจ เจฐเจนเฉ เจนเฉ เจเจฟ เจคเฉเจธเฉเจ เจกเจพเจเจพเจฌเฉเจธ เจจเฉเฉฐ เจกเจฟเจธเจ 'เจคเฉ เจฒเจฟเจเจฃเจพ เจเจฟเจตเฉเจ เจธเจฟเจเจพ เจธเจเจฆเฉ เจนเฉ 200MB / เจนเจตเจพเจเจ
เฉฑเจกเฉ เจ
เฉฑเจงเจพ เจเจฟเฉฐเจจเจพ - เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจฌเจฟเฉฑเจฒเฉ เจฆเฉ เจนเฉเจ เจพเจเฅค
เจตเฉฑเจกเฉ เจกเฉเจเจพ เจฆเฉ เจเฉเจเฉ เจฐเจพเจเจผ
เจจเฉเจเจฐเฉ เจชเฉเจฐเฉเจซเจพเจเจฒ เจฆเฉเจเจฐเจพ
เจ
เจคเฉ เจเจฆเฉเจ เจคเฉเจ
เจเจ เจเจนเจจเจพเจ เจเฉเจฌเจฒเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจฆเฉ เจฌเจฃเจคเจฐ เจจเฉเฉฐ เจตเฉเจเฉเจ เจเจฟเจธ เจตเจฟเฉฑเจ เจ เจธเฉเจ "เจเฉฑเจเจพ" เจกเฉเจเจพ เจฒเจฟเจเจฆเฉ เจนเจพเจ - เจฏเจพเจจเฉ, เจเฉฑเจฅเฉ เจฒเฉเจ เจเจเจเจฐเฉ เจคเฉเจ เจ เจธเจฒ เจเฉเจเจธเจ เจนเฉ:
CREATE TABLE rawdata_orig(
pack -- PK
uuid NOT NULL
, recno -- PK
smallint NOT NULL
, dt -- ะบะปัั ัะตะบัะธะธ
date
, data -- ัะฐะผะพะต ะณะปะฐะฒะฝะพะต
text
, PRIMARY KEY(pack, recno)
);
เจเฉฑเจ เจเจฎ เจเจฟเฉฐเจจเฉเจน (เจชเจนเจฟเจฒเจพเจ เจนเฉ เจธเฉเจเจธเจผเจจเจก, เจฌเฉเจธเจผเจ, เจเจธ เจฒเจ เจเจน เจเฉฑเจ เจธเฉเจเจธเจผเจจ เจเฉเจชเจฒเฉเจ เจนเฉ), เจเจฟเฉฑเจฅเฉ เจธเจญ เจคเฉเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจเฉเจเจผ เจเฉเจเจธเจ เจนเฉเฅค เจเจฆเฉ-เจเจฆเฉ เจเจพเจซเจผเฉ เจตเจฟเจธเจผเจพเจฒ.
เจฏเจพเจฆ เจเจฐเฉ เจเจฟ เจเฉฑเจ เจชเฉเจเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจฐเจฟเจเจพเจฐเจก เจฆเจพ "เจญเฉเจคเจฟเจ" เจเจเจพเจฐ เจเฉฑเจ เจคเฉเจ เจตเฉฑเจง เจชเฉฐเจจเจฟเจเจ เจฆเฉ เจกเฉเจเจพ เจจเฉเฉฐ เจจเจนเฉเจ เจฒเฉ เจธเจเจฆเจพ, เจชเจฐ "เจฒเจพเจเจผเฉเจเจฒ" เจเจเจพเจฐ เจเฉฑเจ เจฌเจฟเจฒเจเฉเจฒ เจตเฉฑเจเจฐเจพ เจฎเจพเจฎเจฒเจพ เจนเฉเฅค เจเฉฑเจ เจเฉเจคเจฐ เจตเจฟเฉฑเจ เจตเฉเจฒเจฏเฉเจฎเฉเจเฉเจฐเจฟเจ เจฎเฉเฉฑเจฒ (varchar/text/bytea) เจฒเจฟเจเจฃ เจฒเจ, เจตเจฐเจคเฉ
PostgreSQL เจเฉฑเจ เจจเจฟเจธเจผเจเจฟเจค เจชเฉฐเจจเฉ เจฆเจพ เจเจเจพเจฐ (เจเจฎ เจคเฉเจฐ 'เจคเฉ 8 KB) เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉ, เจ เจคเฉ เจเฉเจชเจฒเจพเจ เจจเฉเฉฐ เจเจ เจชเฉฐเจจเจฟเจเจ เจจเฉเฉฐ เจซเฉเจฒเจฃ เจฆเฉ เจเจเจพเจเจผเจค เจจเจนเฉเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเจธ เจฒเจ, เจฌเจนเฉเจค เจตเฉฑเจกเฉ เจเฉเจคเจฐ เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจธเจฟเฉฑเจงเฉ เจคเฉเจฐ 'เจคเฉ เจธเจเฉเจฐ เจเจฐเจจเจพ เจ เจธเฉฐเจญเจต เจนเฉเฅค เจเจธ เจธเฉเจฎเจพ เจจเฉเฉฐ เจฆเฉเจฐ เจเจฐเจจ เจฒเจ, เจตเฉฑเจกเฉ เจซเฉเจฒเจก เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจธเฉฐเจเฉเจเจฟเจค เจ เจคเฉ/เจเจพเจ เจเจ เจญเฉเจคเจฟเจ เจฐเฉเจเจพเจตเจพเจ เจตเจฟเฉฑเจ เจตเฉฐเจกเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจน เจเจชเจญเฉเจเจคเจพ เจฆเฉเจเจฐเจพ เจ เจฃเจฆเฉเจเจฟเจ เจนเฉเจเจ เจตเจพเจชเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจเจผเจฟเจเจฆเจพเจคเจฐ เจธเจฐเจตเจฐ เจเฉเจก 'เจคเฉ เจฌเจนเฉเจค เจเฉฑเจ เจชเฉเจฐเจญเจพเจต เจชเจพเจเจเจฆเจพ เจนเฉเฅค เจเจธ เจตเจฟเจงเฉ เจจเฉเฉฐ เจเฉเจธเจ เจตเจเฉเจ เจเจพเจฃเจฟเจ เจเจพเจเจฆเจพ เจนเฉ ...
เจตเจพเจธเจคเจต เจตเจฟเฉฑเจ, "เจธเฉฐเจญเจพเจตเฉ เจคเฉเจฐ 'เจคเฉ เจตเฉฑเจกเฉ" เจเฉเจคเจฐเจพเจ เจตเจพเจฒเฉ เจนเจฐเฉเจ เจธเจพเจฐเจฃเฉ เจฒเจ, เจเจชเจฃเฉ เจเจช
TOAST(
chunk_id
integer
, chunk_seq
integer
, chunk_data
bytea
, PRIMARY KEY(chunk_id, chunk_seq)
);
เจญเจพเจต, เจเฉเจเจฐ เจธเจพเจจเฉเฉฐ "เจตเฉฑเจกเฉ" เจฎเฉเฉฑเจฒ เจฆเฉ เจจเจพเจฒ เจเฉฑเจ เจธเจคเจฐ เจฒเจฟเจเจฃเฉ เจนเฉ data
, เจซเจฟเจฐ เจ
เจธเจฒเฉ เจฐเจฟเจเจพเจฐเจกเจฟเฉฐเจ เจนเฉเจตเฉเจเฉ เจจเจพ เจธเจฟเจฐเจซเจผ เจฎเฉเฉฑเจ เจเฉเจฌเจฒ เจ
เจคเฉ เจเจธเจฆเฉ PK เจฒเจ, เจธเจเฉเจ TOAST เจ
เจคเฉ เจเจธเจฆเฉ PK เจฒเจ เจตเฉ.
เจเฉเจธเจ เจชเฉเจฐเจญเจพเจต เจจเฉเฉฐ เจเจเจพเจเจฃเจพ
เจชเจฐ เจธเจพเจกเฉ เจฌเจนเฉเจคเฉ เจฐเจฟเจเจพเจฐเจก เจ เจเฉ เจตเฉ เจเฉฐเจจเฉ เจตเฉฑเจกเฉ เจจเจนเฉเจ เจนเจจ, 8KB เจตเจฟเฉฑเจ เจซเจฟเฉฑเจ เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ - เจฎเฉเจ เจเจธ 'เจคเฉ เจชเฉเจธเฉ เจเจฟเจตเฉเจ เจฌเจเจพ เจธเจเจฆเจพ เจนเจพเจ? ..
เจเจน เจเจน เจฅเจพเจ เจนเฉ เจเจฟเฉฑเจฅเฉ เจเฉเจฃ เจธเจพเจกเฉ เจธเจนเจพเจเจคเจพ เจฒเจ เจเจเจเจฆเจพ เจนเฉ STORAGE
- เจตเจงเจพเจเจ เจเฉฐเจชเจฐเฉเจธเจผเจจ เจ เจคเฉ เจตเฉฑเจเจฐเฉ เจธเจเฉเจฐเฉเจ เจฆเฉเจตเจพเจ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉเฅค เจเจน เจฎเจฟเจเจฐเฉ เจตเจฟเจเจฒเจช เจเจผเจฟเจเจฆเจพเจคเจฐ TOAST เจ เจจเฉเจเฉเจฒ เจกเจพเจเจพ เจเจฟเจธเจฎเจพเจ เจฒเจเฅค เจเจน เจชเจนเจฟเจฒเจพเจ เจเฉฐเจชเจฐเฉเจธเจผเจจ เจเจฐเจจ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐเจฆเจพ เจนเฉ, เจซเจฟเจฐ เจเจธเจจเฉเฉฐ เจธเจพเจฐเจฃเฉ เจฆเฉ เจฌเจพเจนเจฐ เจธเจเฉเจฐ เจเจฐเจฆเจพ เจนเฉ เจเฉเจเจฐ เจเจคเจพเจฐ เจ เจเฉ เจตเฉ เจฌเจนเฉเจค เจตเฉฑเจกเฉ เจนเฉเฅค
- เจนเฉฑเจฅ เจเฉฐเจชเจฐเฉเจธเจผเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉ เจชเจฐ เจตเฉฑเจเจฐเฉ เจธเจเฉเจฐเฉเจ เจจเจนเฉเจเฅค (เจ เจธเจฒ เจตเจฟเฉฑเจ, เจ เจเจฟเจนเฉ เจเจพเจฒเจฎเจพเจ เจฒเจ เจตเฉฑเจเจฐเฉ เจธเจเฉเจฐเฉเจ เจ เจเฉ เจตเฉ เจเฉเจคเฉ เจเจพเจตเฉเจเฉ, เจชเจฐ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจเจเจฐเฉ เจเจชเจพเจ เจฆเฉ เจคเฉเจฐ เจคเฉ, เจเจฆเฉเจ เจธเจคเจฐ เจจเฉเฉฐ เจธเฉเฉฐเจเฉเจจ เจฆเจพ เจเฉเจ เจนเฉเจฐ เจคเจฐเฉเจเจพ เจจเจนเฉเจ เจนเฉ เจคเจพเจ เจเจฟ เจเจน เจชเฉฐเจจเฉ 'เจคเฉ เจซเจฟเฉฑเจ เจนเฉเจตเฉเฅค)
เจตเจพเจธเจคเจต เจตเจฟเฉฑเจ, เจเจน เจฌเจฟเจฒเจเฉเจฒ เจเจนเฉ เจนเฉ เจเฉ เจธเจพเจจเฉเฉฐ เจชเจพเจ เจฒเจ เจฒเฉเฉเฉเจเจฆเจพ เจนเฉ - เจเจธ เจจเฉเฉฐ เจเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ เจธเจเฉ เจธเฉฐเจเฉเจเจฟเจค เจเจฐเฉ, เจ เจคเฉ เจเฉเจเจฐ เจเจน เจฌเจฟเจฒเจเฉเจฒ เจตเฉ เจซเจฟเฉฑเจ เจจเจนเฉเจ เจฌเฉเจ เจฆเจพ เจนเฉ, เจคเจพเจ เจเจธเจจเฉเฉฐ เจเฉเจธเจ เจตเจฟเฉฑเจ เจชเจพเจ. เจเจน เจเฉฑเจ เจนเฉเจเจฎ เจจเจพเจฒ, เจซเจฒเจพเจ 'เจคเฉ เจธเจฟเฉฑเจงเจพ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ:
ALTER TABLE rawdata_orig ALTER COLUMN data SET STORAGE MAIN;
เจชเฉเจฐเจญเจพเจต เจฆเจพ เจฎเฉเจฒเจพเจเจเจฃ เจเจฟเจตเฉเจ เจเจฐเจจเจพ เจนเฉ
เจเจฟเจเจเจเจฟ เจกเฉเจเจพ เจชเฉเจฐเจตเจพเจน เจนเจฐ เจฐเฉเจเจผ เจฌเจฆเจฒเจฆเจพ เจนเฉ, เจ เจธเฉเจ เจธเฉฐเจชเฉเจฐเจจ เจธเฉฐเจเจฟเจเจตเจพเจ เจฆเฉ เจคเฉเจฒเจจเจพ เจจเจนเฉเจ เจเจฐ เจธเจเจฆเฉ, เจชเจฐ เจธเจพเจชเฉเจเจฟเจ เจฐเฉเจช เจตเจฟเฉฑเจ เจเฉเจเจพ เจนเจฟเฉฑเจธเจพ เจ เจธเฉเจ เจเจธเจจเฉเฉฐ TOAST เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจนเฉ - เจเจฟเฉฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉเฅค เจชเจฐ เจเฉฑเจฅเฉ เจเฉฑเจ เจเจผเจคเจฐเจพ เจนเฉ - เจนเจฐเฉเจ เจตเจฟเจ เจเจคเฉเจเจค เจฐเจฟเจเจพเจฐเจก เจฆเฉ "เจญเฉเจคเจฟเจ" เจตเจพเจฒเฉเจ เจฎ เจเจฟเฉฐเจจเฉ เจตเฉฑเจกเฉ เจนเฉเจตเฉเจเฉ, เจธเฉเจเจเจพเจเจ "เจตเฉฑเจกเจพ" เจฌเจฃ เจเจพเจเจฆเจพ เจนเฉ, เจเจฟเจเจเจเจฟ เจธเจพเจจเฉเฉฐ เจกเฉเจเจพ เจฆเฉ เจนเฉเจฐ เจชเฉฐเจจเจฟเจเจ เจจเฉเฉฐ เจเจตเจฐ เจเจฐเจจเจพ เจชเฉเจเจฆเจพ เจนเฉเฅค
เจ เจจเฉเจญเจพเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ:
heap = 37GB (39%)
TOAST = 54GB (57%)
PK = 4GB ( 4%)
เจ เจจเฉเจญเจพเจ เจฌเจฆเจฒเจพเจ เจฆเฉ เจฌเจพเจ เจฆ:
heap = 37GB (67%)
TOAST = 16GB (29%)
PK = 2GB ( 4%)
เจตเจพเจธเจคเจต เจตเจฟเฉฑเจ, เจ เจธเฉเจ TOAST เจจเฉเฉฐ 2 เจตเจพเจฐ เจเฉฑเจ เจตเจพเจฐ เจฒเจฟเจเจฃเจพ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ, เจเจฟเจธ เจจเฉ เจจเจพ เจธเจฟเจฐเจซเจผ เจกเจฟเจธเจ, เจธเจเฉเจ CPU เจจเฉเฉฐ เจตเฉ เจ เจจเจฒเฉเจก เจเฉเจคเจพ:
เจฎเฉเจ เจจเฉเจ เจเจฐเจพเจเจเจพ เจเจฟ เจ
เจธเฉเจ เจกเจฟเจธเจ เจจเฉเฉฐ "เจชเฉเฉเจนเจจ" เจตเจฟเฉฑเจ เจตเฉ เจเฉเจเฉ เจนเฉ เจเจ เจนเจพเจ, เจจเจพ เจธเจฟเจฐเจซ "เจฒเจฟเจเจฃ" - เจเจฟเจเจเจเจฟ เจเจฆเฉเจ เจเฉฑเจ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจฐเจฟเจเจพเจฐเจก เจธเจผเจพเจฎเจฒ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ เจธเจพเจจเฉเฉฐ เจนเจฐเฉเจ เจธเฉเจเจเจพเจเจ เจฆเฉ เจฐเฉเฉฑเจ เจฆเจพ เจนเจฟเฉฑเจธเจพ "เจชเฉเฉเจนเจจเจพ" เจนเฉเฉฐเจฆเจพ เจนเฉ เจคเจพเจ เจเฉ เจเจธเจฆเจพ เจชเจคเจพ เจฒเจเจพเจเจ เจเจพ เจธเจเฉ. เจเจนเจจเจพเจ เจตเจฟเฉฑเจ เจญเจตเจฟเฉฑเจ เจฆเฉ เจธเจฅเจฟเจคเฉ.
เจเฉเจฃ PostgreSQL 11 'เจคเฉ เจเฉฐเจเฉ เจคเจฐเฉเจนเจพเจ เจฐเจนเจฟ เจธเจเจฆเจพ เจนเฉ
PG11 เจจเฉเฉฐ เจ
เฉฑเจชเจกเฉเจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ, เจ
เจธเฉเจ TOAST เจจเฉเฉฐ "เจเจฟเจเจจเจฟเฉฐเจ" เจเจพเจฐเฉ เจฐเฉฑเจเจฃ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจ
เจคเฉ เจฆเฉเจเจฟเจ เจเจฟ เจเจธ เจธเฉฐเจธเจเจฐเจฃ เจคเฉเจ เจธเจผเฉเจฐเฉ เจเจฐเจเฉ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจเจฟเจเจจเจฟเฉฐเจ เจฒเจ เจเจชเจฒเจฌเจง เจนเฉ เจเจฟเจ เจนเฉเฅค toast_tuple_target
TOAST เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจเฉเจก เจเจฆเฉเจ เจนเฉ เจเจพเจฒเฉ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฆเฉเจ เจธเจพเจฐเจฃเฉ เจตเจฟเฉฑเจ เจธเจเฉเจฐ เจเฉเจคเฉ เจเจพเจฃ เจตเจพเจฒเฉ เจเจคเจพเจฐ เจฆเจพ เจฎเฉเฉฑเจฒ TOAST_TUPLE_THRESHOLD เจฌเจพเจเจ (เจเจฎ เจคเฉเจฐ 'เจคเฉ 2 KB) เจคเฉเจ เจตเฉฑเจกเจพ เจนเฉเฉฐเจฆเจพ เจนเฉเฅค TOAST เจเฉเจก เจธเฉฐเจเฉเจเจฟเจค เจ เจคเฉ/เจเจพเจ เจซเฉเจฒเจก เจฎเฉเฉฑเจฒเจพเจ เจจเฉเฉฐ เจธเจพเจฐเจฃเฉ เจคเฉเจ เจฌเจพเจนเจฐ เจฒเจฟเจเจพเจเจเจพ เจเจฆเฉเจ เจคเฉฑเจ เจเจคเจพเจฐ เจฆเจพ เจฎเฉเฉฑเจฒ TOAST_TUPLE_TARGET เจฌเจพเจเจ (เจตเฉเจฐเฉเจเจฌเจฒ เจฎเฉเฉฑเจฒ, เจเจฎ เจคเฉเจฐ 'เจคเฉ 2 KB) เจคเฉเจ เจเฉฑเจ เจจเจนเฉเจ เจนเฉ เจเจพเจเจฆเจพ เจเจพเจ เจเจเจพเจฐ เจจเฉเฉฐ เจเจเจพเจเจ เจจเจนเฉเจ เจเจพ เจธเจเจฆเจพเฅค
เจ เจธเฉเจ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจนเฉ เจเจฟ เจธเจพเจกเฉ เจเฉเจฒ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเฉ เจกเฉเจเจพ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจน เจเจพเจ เจคเจพเจ "เจฌเจนเฉเจค เจเฉเจเจพ" เจเจพเจ "เจฌเจนเฉเจค เจฒเฉฐเจฎเจพ" เจนเฉเฉฐเจฆเจพ เจนเฉ, เจเจธ เจฒเจ เจ เจธเฉเจ เจเจชเจฃเฉ เจเจช เจจเฉเฉฐ เจเฉฑเจเฉ-เจเฉฑเจ เจธเฉฐเจญเจต เจฎเฉเฉฑเจฒ เจคเฉฑเจ เจธเฉเจฎเจค เจเจฐเจจ เจฆเจพ เจซเฉเจธเจฒเจพ เจเฉเจคเจพ เจนเฉ:
ALTER TABLE rawplan_orig SET (toast_tuple_target = 128);
เจเจ เจฆเฉเจเฉเจ เจเจฟ เจจเจตเฉเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจจเฉ เจฎเฉเฉ เจธเฉฐเจฐเจเจจเจพ เจคเฉเจ เจฌเจพเจ เจฆ เจกเจฟเจธเจ เจฒเฉเจกเจฟเฉฐเจ เจจเฉเฉฐ เจเจฟเจตเฉเจ เจชเฉเจฐเจญเจพเจตเจฟเจค เจเฉเจคเจพ:
เจญเฉเฉเจพ เจจเจนเฉเจ! เจเจธเจค เจกเจฟเจธเจ เจฆเฉ เจเจคเจพเจฐ เจเจ เจเจ เจนเฉ เจฒเจเจญเจ 1.5 เจเฉเจฃเจพ, เจ
เจคเฉ เจกเจฟเจธเจ "เจตเจฟเจ
เจธเจค" 20 เจชเฉเจฐเจคเฉเจธเจผเจค เจนเฉ! เจชเจฐ เจนเฉ เจธเจเจฆเจพ เจนเฉ เจเจฟ เจเจน เจเจฟเจธเฉ เจคเจฐเฉเจนเจพเจ CPU เจจเฉเฉฐ เจชเฉเจฐเจญเจพเจตเจค เจเจฐเฉ?
เจเฉฑเจเฉ-เจเฉฑเจ เจเจน เจนเฉเจฐ เจตเฉ เจตเจฟเจเฉเจฟเจ เจจเจนเฉเจเฅค เจนเจพเจฒเจพเจเจเจฟ, เจเจน เจจเจฟเจฐเจฃเจพ เจเจฐเจจเจพ เจฎเฉเจธเจผเจเจฒ เจนเฉ เจเจฟ เจเฉ เจ
เจเจฟเจนเฉ เจตเจพเจฒเฉเจ
เจฎ เจ
เจเฉ เจตเฉ เจเจธเจค CPU เจฒเฉเจก เจจเฉเฉฐ เจเฉฑเจเจพ เจจเจนเฉเจ เจตเจงเจพ เจธเจเจฆเฉ เจนเจจ 5%.
เจธเจผเจฐเจคเจพเจ เจฆเฉ เจธเจฅเจพเจจเจพเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฃ เจจเจพเจฒ, เจเฉเฉ... เจฌเจฆเจฒเจฆเจพ เจนเฉ!
เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจเจพเจฃเจฆเฉ เจนเฉ, เจเฉฑเจ เจชเฉเจธเจพ เจเฉฑเจ เจฐเฉเจฌเจฒ เจฌเจเจพเจเจเจฆเจพ เจนเฉ, เจ เจคเฉ เจธเจพเจกเฉ เจธเจเฉเจฐเฉเจ เจตเจพเจฒเฉเจ เจฎ เจฆเฉ เจจเจพเจฒ เจเจน เจฒเจเจญเจ เจนเฉ 10TB/เจฎเจนเฉเจจเจพ เจเฉฑเจฅเฉเจ เจคเฉฑเจ เจเจฟ เจฅเฉเฉเจพ เจเจฟเจนเจพ เจ เจจเฉเจเฉเจฒเจคเจพ เจเฉฑเจ เจเฉฐเจเจพ เจฒเจพเจญ เจฆเฉ เจธเจเจฆเฉ เจนเฉเฅค เจเจธ เจฒเจ, เจ เจธเฉเจ เจเจชเจฃเฉ เจกเฉเจเจพ เจฆเฉ เจญเฉเจคเจฟเจ เจฌเจฃเจคเจฐ เจตเฉฑเจฒ เจงเจฟเจเจจ เจฆเจฟเฉฑเจคเจพ - เจฌเจฟเจฒเจเฉเจฒ เจเจฟเจตเฉเจ เจฐเจฟเจเจพเจฐเจก เจฆเฉ เจ เฉฐเจฆเจฐ "เจธเจเฉเจเจก" เจเฉเจคเจฐ เจเฉเจฌเจฒ เจฆเฉ เจนเจฐ.
เจฆเฉ เจเจพเจฐเจจ
เจเจ เจเจฐเจเฉเจเฉเจเจเจฐ เจฎเจธเจผเฉเจจ เจธเจผเจฌเจฆเจพเจ เจฆเฉเจเจ เจธเฉเจฎเจพเจตเจพเจ 'เจคเฉ เจกเจพเจเจพ เจ เจฒเจพเจเจจเจฎเฉเจเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเจจเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉฑเจ 32-เจฌเจฟเฉฑเจ x86 เจธเจฟเจธเจเจฎ 'เจคเฉ, เจชเฉเจฐเจจ เจ เฉฐเจ (เจชเฉเจฐเจจ เจ เฉฐเจ เจเจฟเจธเจฎ, 4 เจฌเจพเจเจ) เจจเฉเฉฐ 4-เจฌเจพเจเจ เจธเจผเจฌเจฆ เจธเฉเจฎเจพ 'เจคเฉ เจเจเจธเจพเจฐ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ, เจเจฟเจตเฉเจ เจเจฟ เจกเจฌเจฒ เจธเจเฉเจเจธเจผเจจ เจซเจฒเฉเจเจฟเฉฐเจ เจชเฉเจเจเฉฐเจ เจจเฉฐเจฌเจฐ (เจกเจฌเจฒ เจธเจเฉเจเจธเจผเจจ เจซเจฒเฉเจเจฟเฉฐเจ เจชเฉเจเจเฉฐเจ, 8 เจฌเจพเจเจ)เฅค เจ เจคเฉ เจเฉฑเจ 64-เจฌเจฟเฉฑเจ เจธเจฟเจธเจเจฎ 'เจคเฉ, เจกเจฌเจฒ เจฎเฉเฉฑเจฒ 8-เจฌเจพเจเจ เจธเจผเจฌเจฆเจพเจ เจฆเฉเจเจ เจธเฉเจฎเจพเจตเจพเจ เจจเจพเจฒ เจเจเจธเจพเจฐ เจนเฉเจฃเจเฉเฅค เจเจน เจ เจธเฉฐเจเจคเจคเจพ เจฆเจพ เจเฉฑเจ เจนเฉเจฐ เจเจพเจฐเจจ เจนเฉ.
เจ เจฒเจพเจเจจเจฎเฉเจเจ เจฆเฉ เจเจพเจฐเจจ, เจเฉเจฌเจฒ เจเจคเจพเจฐ เจฆเจพ เจเจเจพเจฐ เจซเฉเจฒเจกเจพเจ เจฆเฉ เจเฉเจฐเจฎ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจพ เจนเฉเฅค เจเจฎ เจคเฉเจฐ 'เจคเฉ เจเจน เจชเฉเจฐเจญเจพเจต เจฌเจนเฉเจค เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ เจนเฉ, เจชเจฐ เจเฉเจ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ เจเจน เจเจเจพเจฐ เจตเจฟเฉฑเจ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจตเจพเจงเจพ เจเจฐ เจธเจเจฆเจพ เจนเฉเฅค เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉเจเจฐ เจคเฉเจธเฉเจ char(1) เจ เจคเฉ เจชเฉเจฐเจจ เจ เฉฐเจ เจเฉเจคเจฐเจพเจ เจจเฉเฉฐ เจฎเจฟเจฒเจพเจเจเจฆเฉ เจนเฉ, เจคเจพเจ เจเจนเจจเจพเจ เจตเจฟเจเจเจพเจฐ เจเจฎ เจคเฉเจฐ 'เจคเฉ 3 เจฌเจพเจเจ เจฌเจฐเจฌเจพเจฆ เจนเฉเจฃเจเฉเฅค
เจเจ เจธเจฟเฉฐเจฅเฉเจเจฟเจ เจฎเจพเจกเจฒเจพเจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจเจฐเฉเจ:
SELECT pg_column_size(ROW(
'0000-0000-0000-0000-0000-0000-0000-0000'::uuid
, 0::smallint
, '2019-01-01'::date
));
-- 48 ะฑะฐะนั
SELECT pg_column_size(ROW(
'2019-01-01'::date
, '0000-0000-0000-0000-0000-0000-0000-0000'::uuid
, 0::smallint
));
-- 46 ะฑะฐะนั
เจชเจนเจฟเจฒเฉ เจเฉเจธ เจตเจฟเฉฑเจ เจเฉเจ เจตเจพเจงเฉ เจฌเจพเจเจเจพเจ เจเจฟเฉฑเจฅเฉเจ เจเจเจเจ? เจเจน เจธเจงเจพเจฐเจจ เจนเฉ - 2-เจฌเจพเจเจ เจธเจฎเจพเจฒเจเฉฐเจ 4-เจฌเจพเจเจ เจธเฉเจฎเจพ 'เจคเฉ เจเจเจธเจพเจฐ เจ เจเจฒเฉ เจเฉเจคเจฐ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจ เจคเฉ เจเจฆเฉเจ เจเจน เจเจเจฐเฉ เจเฉเจคเจฐ เจนเฉ, เจคเจพเจ เจเฉเจ เจตเฉ เจจเจนเฉเจ เจนเฉ เจ เจคเฉ เจเจเจธเจพเจฐ เจเจฐเจจ เจฆเฉ เจเฉเจ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค
เจธเจฟเจงเจพเจเจค เจตเจฟเฉฑเจ, เจธเจญ เจเฉเจ เจ เฉเจ เจนเฉ เจ เจคเฉ เจคเฉเจธเฉเจ เจเจชเจฃเฉ เจชเจธเฉฐเจฆ เจ เจจเฉเจธเจพเจฐ เจเฉเจคเจฐเจพเจ เจจเฉเฉฐ เจฎเฉเฉ เจตเจฟเจตเจธเจฅเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค เจเจ เจเจธ เจจเฉเฉฐ เจเฉเจฌเจฒเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจฆเฉ เจเจฆเจพเจนเจฐเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจ เจธเจฒ เจกเฉเจเจพ 'เจคเฉ เจเจพเจเจ เจเจฐเฉเจ, เจเจฟเจธ เจฆเจพ เจฐเฉเจเจผเจพเจจเจพ เจญเจพเจ 10-15GB เจฐเฉฑเจเจฆเจพ เจนเฉเฅค
เจธเจผเฉเจฐเฉเจเจคเฉ เจฌเจฃเจคเจฐ:
CREATE TABLE public.plan_20190220
(
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: pack uuid NOT NULL,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: recno smallint NOT NULL,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: host uuid,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: ts timestamp with time zone,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: exectime numeric(32,3),
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: duration numeric(32,3),
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: bufint bigint,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: bufmem bigint,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: bufdsk bigint,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: apn uuid,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: ptr uuid,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: dt date,
CONSTRAINT plan_20190220_pkey PRIMARY KEY (pack, recno),
CONSTRAINT chck_ptr CHECK (ptr IS NOT NULL),
CONSTRAINT plan_20190220_dt_check CHECK (dt = '2019-02-20'::date)
)
INHERITS (public.plan)
เจเจพเจฒเจฎ เจเฉเจฐเจฎ เจฌเจฆเจฒเจฃ เจคเฉเจ เจฌเจพเจ เจฆ เจธเฉเจเจธเจผเจจ - เจฌเจฟเจฒเจเฉเจฒ เจเฉฑเจเฉ เจเฉเจคเจฐ, เจธเจฟเจฐเจซเจผ เจตเฉฑเจเจฐเจพ เจเฉเจฐเจฎ:
CREATE TABLE public.plan_20190221
(
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: dt date NOT NULL,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: ts timestamp with time zone,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: pack uuid NOT NULL,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: recno smallint NOT NULL,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: host uuid,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: apn uuid,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: ptr uuid,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: bufint bigint,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: bufmem bigint,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: bufdsk bigint,
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: exectime numeric(32,3),
-- ะฃะฝะฐัะปะตะดะพะฒะฐะฝะฐ from table plan: duration numeric(32,3),
CONSTRAINT plan_20190221_pkey PRIMARY KEY (pack, recno),
CONSTRAINT chck_ptr CHECK (ptr IS NOT NULL),
CONSTRAINT plan_20190221_dt_check CHECK (dt = '2019-02-21'::date)
)
INHERITS (public.plan)
เจญเจพเจ เจฆเฉ เจเฉเฉฑเจฒ เจฎเจพเจคเจฐเจพ "เจคเฉฑเจฅเจพเจ" เจฆเฉ เจธเฉฐเจเจฟเจ เจฆเฉเจเจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจเฉเจคเฉ เจเจพเจเจฆเฉ เจนเฉ เจ
เจคเฉ เจธเจฟเจฐเจซ เจฌเจพเจนเจฐเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเฉ เจนเฉ, เจเจธ เจฒเจ เจเจ เจขเฉเจฐ เจฆเฉ เจเจเจพเจฐ เจจเฉเฉฐ เจตเฉฐเจกเฉเจ (pg_relation_size
) เจเจธ เจตเจฟเฉฑเจ เจฐเจฟเจเจพเจฐเจกเจพเจ เจฆเฉ เจเจฟเจฃเจคเฉ เจฆเฉเจเจฐเจพ - เจญเจพเจต, เจ
เจธเฉเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจพเจ เจ
เจธเจฒ เจธเจเฉเจฐ เจเฉเจคเฉ เจฐเจฟเจเจพเจฐเจก เจฆเจพ เจเจธเจค เจเจเจพเจฐ:
เจเจเจพเจ 6% เจตเจพเจฒเฉเจ
เจฎ, เจฌเจนเฉเจค เจตเจงเฉเจ!
เจชเจฐ เจนเจฐ เจเฉเจเจผ, เจฌเฉเจธเจผเจ, เจเฉฐเจจเฉ เจเฉเจฒเจพเจฌเฉ เจจเจนเฉเจ เจนเฉ - เจเจเจฐเจเจพเจฐ, เจธเฉเจเจเจพเจเจ เจตเจฟเฉฑเจ เจ
เจธเฉเจ เจเฉเจคเจฐเจพเจ เจฆเจพ เจเฉเจฐเจฎ เจจเจนเฉเจ เจฌเจฆเจฒ เจธเจเจฆเฉ, เจ
เจคเฉ เจเจธเจฒเจ "เจเจฎ เจคเฉเจฐ 'เจคเฉ" (pg_total_relation_size
) ...
...เจ
เจเฉ เจตเฉ เจเฉฑเจฅเฉ เจนเฉ 1.5% เจฌเจเจพเจเจเจเฉเจก เจฆเฉ เจเฉฑเจ เจฒเจพเจเจจ เจจเฉเฉฐ เจฌเจฆเจฒเฉ เจฌเจฟเจจเจพเจ. เจนเจพ เจนเจพ!
เจฎเฉเจ เจจเฉเจ เจเจฐเจฆเจพ เจนเจพเจ เจเจฟ เจเฉเจคเจฐเจพเจ เจจเฉเฉฐ เจตเจฟเจตเจธเจฅเจฟเจค เจเจฐเจจ เจฒเจ เจเจชเจฐเฉเจเจค เจตเจฟเจเจฒเจช เจเจน เจคเฉฑเจฅ เจจเจนเฉเจ เจนเฉ เจเจฟ เจเจน เจธเจญ เจคเฉเจ เจ
เจจเฉเจเฉเจฒ เจนเฉ. เจเจฟเจเจเจเจฟ เจคเฉเจธเฉเจ เจธเฉเจนเจ เจฆเฉ เจเจพเจฐเจจเจพเจ เจเจฐเจเฉ เจเฉเจคเจฐเจพเจ เจฆเฉ เจเฉเจ เจฌเจฒเจพเจเจพเจ เจจเฉเฉฐ "เจซเจพเฉเจจเจพ" เจจเจนเฉเจ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ - เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจเฉฑเจ เจเฉเฉเจพ (pack, recno)
, เจเฉ เจเจฟ เจเจธ เจธเจพเจฐเจฃเฉ เจฒเจ PK เจนเฉเฅค
เจเจฎ เจคเฉเจฐ 'เจคเฉ, เจซเฉเจฒเจกเจพเจ เจฆเฉ "เจเฉฑเจเฉ-เจเฉฑเจ" เจตเจฟเจตเจธเจฅเจพ เจจเฉเฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจเจพ เจเฉฑเจ เจเจพเจซเจผเฉ เจธเจงเจพเจฐเจจ "เจฌเฉเจฐเฉเจ เจซเฉเจฐเจธ" เจเจพเจฐเจ เจนเฉเฅค เจเจธ เจฒเจ, เจคเฉเจธเฉเจ เจธเจพเจกเฉ เจกเฉเจเจพ เจคเฉเจ เจตเฉ เจฌเจฟเจนเจคเจฐ เจจเจคเฉเจเฉ เจชเฉเจฐเจพเจชเจค เจเจฐ เจธเจเจฆเฉ เจนเฉ - เจเจธเจจเฉเฉฐ เจ
เจเจผเจฎเจพเจ!
เจธเจฐเฉเจค: www.habr.com