เบชเบทเบเบเปเปเบซเบปเบงเบเปเปเบเบฒเบเบเบฑเบเบเบถเบเบเปเปเบกเบนเบเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบตเปเบเบปเบเบเบถเปเบเบกเบฒเปเบเบ
เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเบเบเบฐเบเบฒเบเปเบฝเบงเบเบฑเบ เบเบฒเบเบเบฑเปเบเบเปเบฒ TOAST เปเบฅเบฐเบเบฒเบเบเบฑเบเบฎเบฝเบเบเปเปเบกเบนเบ. "เปเบเบเบชเบฐเปเบฅเปเบ," เบงเบดเบเบตเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบฐเบเปเปเบเบฐเบซเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบซเบผเบฒเบเปเบเบตเบเปเบ, เปเบเปเปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฑเบเปเบเบเบฅเบฐเบซเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฑเบเบซเบกเบปเบ.
เบขเปเบฒเบเปเบเบเปเปเบเบฒเบก, เบเบฐเบชเบปเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบซเบฑเบเบญเบญเบเปเบเบฑเบเบเบปเบเบเบฐเบฅเบดเบเบซเบผเบฒเบเปเบเปเบฅเบทเปเบญเบเบเบตเป, เบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบเบทเบญเบเบเบธเบเบเบฒเบเบเบดเบเบเบฒเบกเปเบเบเบเปเบฒเบกเบฐเบเบฒเบเบเบญเบเบกเบฑเบ เบชเปเบงเบเบซเบผเบฒเบเปเบกเปเบเบเปเปเบเปเบฒเบเปเบเบปเปเบฒเบเบฑเปเบ เปเบเปเบเปเบเบญเบเบเปเปเบกเบนเบเบเบตเปเบเบฑเบเบเบถเบเปเบงเป. เปเบฅเบฐเบเปเบฒเบเปเบฒเบเบชเบปเบเปเบชเบงเปเบฒเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบญเบเบเบฒเบเบเปเปเบกเบนเบเปเบซเปเบเบฝเบเปเบชเปเปเบเปเบเบเบดเบเปเบเปเปเบเบงเปเบ 200MB / s เปเบเบดเปเบเบซเบเบถเปเบเปเบเบฑเบเบซเบผเบฒเบ - เบเบฐเบฅเบธเบเบฒเบเบฒเบเปเบเป cat.
เบเบงเบฒเบกเบฅเบฑเบเบเปเบญเบเปเบเบญเบเบเปเปเบกเบนเบเปเบซเบเป
เปเบเบเปเบเบฃเปเบเบฅเปเบงเบฝเบ
เปเบฅเบฐเบเบฑเบเบเบฑเปเบเปเบเป
เบเปเปเบซเปเปเบเบดเปเบเปเบเบเบชเปเบฒเบเบเบญเบเบเบฒเบเบฐเบฅเบฒเบเบซเบเบถเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฝเบเบเปเปเบกเบนเบ "เบเบดเบ" - เบเบฑเปเบเปเบกเปเบ, เบเบตเปเปเบกเปเบเบเปเปเบเบงเบฒเบกเบเบปเปเบเบชเบฐเบเบฑเบเบเบฒเบเบฅเบฒเบเบเบฒเบเบเบฑเบเบเบถเบ:
CREATE TABLE rawdata_orig(
pack -- PK
uuid NOT NULL
, recno -- PK
smallint NOT NULL
, dt -- ะบะปัั ัะตะบัะธะธ
date
, data -- ัะฐะผะพะต ะณะปะฐะฒะฝะพะต
text
, PRIMARY KEY(pack, recno)
);
เบชเบฑเบเบเบฒเบฅเบฑเบเบเบปเบเบเบฐเบเบด (เปเบกเปเบเบเบฒเบเบชเปเบงเบเปเบฅเปเบง, เปเบเปเบเบญเบ, เบเบฑเปเบเบเบฑเปเบเบเบตเปเปเบกเปเบเปเบกเปเปเบเบเบเบฒเบ), เปเบเบดเปเบเบชเบดเปเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเปเบกเปเบเบเปเปเบเบงเบฒเบก. เบเบฒเบเบเบฑเปเบเบเปเบญเบเบเปเบฒเบ voluminous.
เบเบทเปเปเบงเปเบงเปเบฒเบเบฐเบซเบเบฒเบ "เบเบฒเบเบเปเบฒเบเบฎเปเบฒเบเบเบฒเบ" เบเบญเบเบเบฑเบเบเบถเบเบซเบเบถเปเบเปเบ PG เบเปเปเบชเบฒเบกเบฒเบเบเบญเบเบเบญเบเบเปเปเบกเบนเบเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบเบซเบเปเบฒ, เปเบเปเบเบฐเบซเบเบฒเบ "เบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบ" เปเบกเปเบเบเบฑเบเบซเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบซเบกเบปเบ. เปเบเบทเปเบญเบเบฝเบเบเปเบฒเบเบฐเบฅเบดเบกเบฒเบ (varchar/text/bytea) เปเบชเปเบเปเบญเบเบเปเปเบกเบนเบ, เปเบซเปเปเบเป
PostgreSQL เปเบเปเบเบฐเบซเบเบฒเบเบซเบเปเบฒเบเบปเบเบเบตเป (เบเบปเบเบเบฐเบเบด 8 KB), เปเบฅเบฐเบเปเปเบญเบฐเบเบธเบเบฒเบเปเบซเป tuples เบเบฐเบซเบเบฒเบเบซเบผเบฒเบเบซเบเปเบฒ. เบเบฑเปเบเบเบฑเปเบ, เบกเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบตเปเบกเบตเบเบฐเบซเบเบฒเบเปเบซเบเปเบซเบผเบฒเบเปเบเบเบเบปเบ. เปเบเบทเปเบญเปเบญเบปเบฒเบเบฐเบเบฐเบเปเปเบเปเบฒเบเบฑเบเบเบตเป, เบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบทเบเบเบตเบเบญเบฑเบเปเบฅเบฐ / เบซเบผเบทเปเบเปเบเบญเบญเบเปเบเบเบปเปเบงเบชเบฒเบเบเบฒเบเบเปเบฒเบเบฎเปเบฒเบเบเบฒเบเบซเบผเบฒเบ. เบเบตเปเปเบเบตเบเบเบทเปเบเปเบเบเบเบนเปเปเบเปเบเปเปเปเบเปเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบฅเบฐเบกเบตเบเบปเบเบเบฐเบเบปเบเปเบฅเบฑเบเบเปเบญเบเบเปเปเบฅเบฐเบซเบฑเบเปเบเบตเบเปเบงเบตเบชเปเบงเบเปเบซเบเป. เบงเบดเบเบตเบเบฒเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ TOAST ...
เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบชเปเบฒเบฅเบฑเบเบเบธเบเปเบเบฒเบเบฐเบฅเบฒเบเบเบตเปเบกเบตเบเปเบญเบเบเปเปเบกเบนเบ "เบเบฐเบซเบเบฒเบเปเบซเบเป", เบญเบฑเบเบเบฐเปเบเบกเบฑเบ
TOAST(
chunk_id
integer
, chunk_seq
integer
, chunk_data
bytea
, PRIMARY KEY(chunk_id, chunk_seq)
);
เบเบฑเปเบเปเบกเปเบ, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฝเบเบเปเปเบเบงเบฒเบกเบเบตเปเบกเบตเบเปเบฒ "เปเบซเบเป". data
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเบเบฑเบเบเบถเบเบเบตเปเปเบเปเบเบดเบเบเบฐเปเบเบตเบเบเบถเปเบ เบเปเปเบเบฝเบเปเบเปเบเบฒเบเบฐเบฅเบฒเบเบเบปเปเบเบเปเปเบฅเบฐ PK เบเบญเบเบกเบฑเบ, เปเบเปเบเบฑเบเบเบฑเบ TOAST เปเบฅเบฐ PK เบเบญเบเบกเบฑเบ.
เบเบฒเบเบซเบผเบธเบเบเปเบญเบเบญเบดเบเบเบดเบเบปเบเบเบญเบ TOAST
เปเบเปเบเบฑเบเบเบถเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบชเปเบงเบเปเบซเบเปเบเบฑเบเบเปเปเปเบซเบเปเบเบฒเบเปเบ, เบเบงเบเบเปเบเบตเบเบฑเบ 8KB - เบเปเบญเบเบชเบฒเบกเบฒเบเบเบฐเบซเบเบฑเบเปเบเบดเบเปเบเปเปเบเบงเปเบ? ..
เบเบตเปเปเบกเปเบเบเปเบญเบเบเบตเปเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเบกเบฒเปเบซเปเบเบฒเบเบเปเบงเบเปเบซเบผเบทเบญเบเบญเบเบเบงเบเปเบฎเบปเบฒ STORAGE
- เบญเบฐเบเบดเบเบฒเบ เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฑเบเบเบฒเบเบเบตเบเบญเบฑเบเปเบฅเบฐเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบเบเบเปเบฒเบเบซเบฒเบ. เบเบตเป เบเบฒเบเปเบฅเบทเบญเบเบกเบฒเบเบเบฐเบเบฒเบ เบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบเบเปเปเบกเบนเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ TOAST เบชเปเบงเบเปเบซเบเป. เบเปเบฒเบญเบดเบเบกเบฑเบเบเบฐเบเบฒเบเบฒเบกเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเบเบญเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบกเบฑเบเบขเบนเปเบเบญเบเบเบฒเบเบฐเบฅเบฒเบเบเปเบฒเปเบเบงเบเบฑเบเปเบซเบเปเปเบเบตเบเปเบ.
- HAND เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบตเบเบญเบฑเบเปเบเปเบเปเปเปเบกเปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบเบเบเปเบฒเบเบซเบฒเบ. (เปเบโเบเบงเบฒเบกโเปเบเบฑเบโเบเบดเบ, เบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบเบเบเปเบฒเบเบซเบฒเบเบเบฑเบเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเปเบฅเปเบฒเบเบฑเปเบเบเปเบฒเบง, เปเบเปเบงเปเบฒเบเบฝเบเปเบเป เปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบชเบธเบเบเปเบฒเบ, เปเบกเบทเปเบญเบเปเปเบกเบตเบงเบดเบเบตเบญเบทเปเบเบเบตเปเบเบฐเบซเบปเบเบชเบฒเบเปเบเบทเปเบญเปเบซเปเบกเบฑเบเปเบซเบกเบฒเบฐเบเบฑเบเบซเบเปเบฒ.)
เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเปเปเบเบงเบฒเบก - เบเบตเบเบกเบฑเบเปเบซเปเบซเบผเบฒเบเปเบเบปเปเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเป, เปเบฅเบฐเบเปเบฒเบกเบฑเบเบเปเปเปเบซเบกเบฒเบฐเบชเบปเบก, เปเบญเบปเบฒเปเบชเปเปเบ 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 เปเบเบทเปเบญ, เปเบเบดเปเบ unloaded เบเปเปเบเบฝเบเปเบเปเปเบเปเบ, เปเบเปเบเบฑเบ CPU เปเบเป:
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบชเบฑเบเปเบเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฒเบเปเบเบฑเบเบเบฐเบซเบเบฒเบเบเปเบญเบเบเบงเปเบฒเปเบ "เบญเปเบฒเบ" เปเบเปเบ, เบเปเปเบเบฝเบเปเบเป "เบเบฝเบ" - เบเบฑเบเบเบฑเปเบเปเบเปเปเบกเบทเปเบญเปเบชเปเบเบฑเบเบเบถเบเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบฐเบฅเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเปเบญเบ "เบญเปเบฒเบ" เบชเปเบงเบเบเบญเบเบเบปเปเบเปเบกเปเบเบญเบเปเบเปเบฅเบฐเบเบฑเบเบเบฐเบเบตเปเบเบทเปเบญเบเปเบฒเบเบปเบเบเบญเบเบกเบฑเบ. เบเปเบฒโเปเบซเบเปเบโเปเบโเบญเบฐโเบเบฒโเบเบปเบโเบเบญเบโเปเบเบปเบฒโเปเบเบปเปเบฒโ.
เปเบเบชเบฒเบกเบฒเบเบเปเบฒเบฅเบปเบเบเบตเบงเบดเบเปเบเปเบเบตเปเบ PostgreSQL 11
เบซเบผเบฑเบโเบเบฒเบโเบเบฒเบโเบเบฑเบโเบเบธเบโเปเบเบฑเบ PG11โ, เบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบเบฑเบโเบชเบดเบโเปเบโเบเบตเปโเบเบฐโเบชเบทเบโเบเปเป "เบเบฑเบโ" TOAST เปเบฅเบฐโเบชเบฑเบโเปเบเบโเปเบซเบฑเบโเบงเปเบฒโเบเบฒเบโเปเบฅเบตเปเบกโเบเบปเปเบโเบเบฒเบโเบชเบฐโเบเบฑเบโเบเบตเปโเบเบฒโเบฅเบฒโเบกเบดโเปเบเบตโเปเบเปโเบกเบตโเปเบซเปโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบฑเบ toast_tuple_target
เบฅเบฐเบซเบฑเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบ TOAST เบเบฝเบเปเบเปเปเบเปเบซเบกเปเปเบกเบทเปเบญเบเปเบฒเปเบเบงเบเบตเปเบเบฐเปเบเบฑเบเปเบงเปเปเบเบเบฒเบเบฐเบฅเบฒเบเปเบซเบเปเบเบงเปเบฒ TOAST_TUPLE_THRESHOLD bytes (เบเบปเบเบเบฐเบเบด 2 KB). เบฅเบฐเบซเบฑเบ TOAST เบเบฐเบเบตเบเบญเบฑเบ เปเบฅเบฐ/เบซเบผเบท เบเปเบฒเบเบเปเบฒเบเปเบญเบเบเปเปเบกเบนเบเบญเบญเบเบเบฒเบเบเบฒเบเบฐเบฅเบฒเบเบเบปเบเบเปเบงเบฒเบเปเบฒเปเบเบงเบเบฒเบเปเบเบฑเบเปเปเบญเบเบเบงเปเบฒ TOAST_TUPLE_TARGET bytes (เบเปเบฒเบเบปเบงเปเบ, เบเบปเบเบเบฐเบเบดเปเบกเปเบ 2 KB) เบซเบผเบทเบเบฐเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเบซเบผเบธเบเปเบเป.
เบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบเบฑเบโเบชเบดเบโเปเบโเบงเปเบฒโเบเปเปโเบกเบนเบโเบเบตเปโเบเบงเบโเปเบฎเบปเบฒโเบเบปเบโเบเบฐโเบเบดโเปเบฅเปเบงโเปเบกเปเบ "เบชเบฑเปเบโเบซเบผเบฒเบโ" เบซเบผเบท "เบเบฒเบงโเบซเบผเบฒเบโ"โ, เบเบฑเปเบโเบเบฑเปเบโเบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบเบฑเบโเบชเบดเบโเปเบโเบเบตเปโเบเบฐโเบเปเบฒโเบเบฑเบโเบเบปเบงโเปเบฎเบปเบฒโเปเบญเบโเปเบโเบเปเบฒโเบเปเบฒโเปโเบชเบธเบโเบเบตเปโเปเบเบฑเบโเปเบโเปเบเปโ:
ALTER TABLE rawplan_orig SET (toast_tuple_target = 128);
เบกเบฒเปเบเบดเปเบเบงเปเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒเปเปเปเบชเบปเปเบเบเบปเบเบเบฐเบเบปเบเบเปเปเบเบฒเบเปเบซเบผเบเปเบเปเบเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบทเบเปเปเปเปเบเบงเปเบ:
เบเปเปเบเบต! เบชเบฐเปเบฅเปเบ เปเบเบงเปเบเบซเบฒเปเบเปเบเปเบเปเบซเบผเบธเบเบฅเบปเบ เบเบฐเบกเบฒเบ 1.5 เปเบเบทเปเบญ, เปเบฅเบฐเปเบเปเบ โเบเปเปเบซเบงเปเบฒเบโ เปเบกเปเบ 20 เปเบเบตเปเบเบฑเบ! เปเบเปเบเบฒเบเบเบตเบเบตเปเบญเบฒเบเบเบฐเบชเบปเปเบเบเบปเบเบเบฐเบเบปเบเบเปเป CPU เบเป?
เบขเปเบฒเบเบซเบเปเบญเบเบกเบฑเบเบเปเปเบฎเปเบฒเบเปเบฎเบเบเบงเปเบฒเปเบเบปเปเบฒ. เปเบเบดเบเปเบกเปเบเบงเปเบฒ, เบกเบฑเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบตเปเบเบฐเบเบฑเบเบชเบดเบเบงเปเบฒเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฐเบฅเบดเบกเบฒเบเบเบฑเปเบเบเปเบฒเบงเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบตเปเบกเบเบฒเบเปเบซเบผเบ CPU เปเบเบเบชเบฐเปเบฅเปเบเบชเบนเบเบเบถเปเบ 5%.
เปเบเบเบเบฒเบเบเปเบฝเบเปเบเบเบชเบฐเบเบฒเบเบเบตเปเบเบญเบเบเปเปเบเปเบฒเบเบปเบ, เบเบปเบเบฅเบงเบก ... เบเปเบฝเบเปเบเบ!
เบเบฑเปเบเบเบตเปเบเปเบฒเบเบฎเบนเป, เปเบเบดเบเบซเบเบถเปเบเบเบฐเบเปเบงเบเบเบฐเบขเบฑเบ ruble, เปเบฅเบฐเบเปเบงเบเบเบฐเบฅเบดเบกเบฒเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบกเบฑเบเบเบฐเบกเบฒเบ 10TB/เปเบเบทเบญเบ เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบฅเบฑเบเบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเปเบซเปเบเปเบฒเปเบฅเบเบตเปเบเบต. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบเปเบเบเบชเปเบฒเบเบเบฒเบเบเบฒเบเบฐเบเบฒเบเบเบญเบเบเปเปเบกเบนเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ - เปเบเบงเปเบเปเบเป เบเปเบญเบเบเปเปเบกเบนเบ "เบงเบฒเบเบเปเบญเบเบเบฑเบ" เบขเบนเปเปเบเบเบฑเบเบเบถเบ เปเบเปเบฅเบฐเบเบฒเบเบฐเบฅเบฒเบ.
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒ
เบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเปเบฒเบเบงเบเบซเบผเบฒเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเบฑเบเบฅเปเบฒเบเบฑเบเบเปเปเบกเบนเบเปเบเบเบญเบเปเบเบเบเปเบฒเบชเบฑเบเบเบญเบเปเบเบทเปเบญเบเบเบฑเบ. เบเบปเบงเบขเปเบฒเบ, เปเบเบฅเบฐเบเบปเบ 32-bit x86, integers (integer type, 4 bytes) เบเบฐเบเบทเบเบเบฑเบเปเบชเปเปเบเบเบญเบเปเบเบเบเบญเบเบเปเบฒ 4-byte, เบเบทเบเบฑเบเบเบฑเบเบเบฐ double precision floating point (double precision floating point, 8 bytes). เปเบฅเบฐเปเบเบฅเบฐเบเบปเบ 64-bit, เบเปเบฒเบชเบญเบเปเบเบปเปเบฒเบเบฐเบเบทเบเบชเบญเบเบเปเบญเบเบเบฑเบเบเบญเบเปเบเบเบเปเบฒเบชเบฑเบ 8-byte. เบเบตเปเปเบกเปเบเปเบซเบเบเบปเบเบญเบทเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเปเปเบเบปเปเบฒเบเบฑเบเปเบเป.
เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฑเบเบฎเบฝเบ, เบเบฐเปเบฒเบเบเบญเบเปเบเบงเบเบฒเบเบฐเบฅเบฒเบเปเบกเปเบเบเบถเปเบเบเบฑเบเบฅเบณเบเบฑเบเบเบญเบเบเปเบญเบเบเปเปเบกเบนเบ. เบเบปเบเบเบฐเบเบดเปเบฅเปเบงเบเบปเบเบเบฐเบเบปเบเบเบตเปเปเบกเปเบเบเปเปเบชเบฑเบเปเบเบเปเบซเบฑเบเบซเบผเบฒเบ, เปเบเปเปเบเบเบฒเบเบเปเบฅเบฐเบเบตเบกเบฑเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบชเบนเปเบเบฒเบเปเบเบตเปเบกเบเบถเปเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบเปเบเบเบฐเบซเบเบฒเบ. เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเปเบเบปเปเบฒเบเบฐเบชเบปเบก char(1) เปเบฅเบฐ integer fields, เปเบเบเบเบปเบเบเบฐเบเบดเบเบฐเบกเบต 3 bytes เปเบชเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบงเบเบกเบฑเบ.
เปเบซเปเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบปเบงเปเบเบเบชเบฑเบเปเบเบฒเบฐ:
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 ะฑะฐะนั
เบชเบญเบเบชเบฒเบก bytes เบเบดเปเบชเบเบกเบฒเบเบฒเบเปเบชเปเบเบเปเบฅเบฐเบเบตเบเปเบฒเบญเบดเบ? เบกเบฑเบโเปเบเบฑเบโเบเปเบฒเบโเบเบฒเบ - เบเบฐเปเบฒเบเบเปเบญเบ 2-byte เบเบฑเบเบฎเบฝเบเบขเบนเปเปเบเบเบญเบเปเบเบ 4-byte เบเปเบญเบเบเบตเปเบเบฐเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเปเปเปเบ, เปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบตเปเบกเบฑเบเปเบเบฑเบเบญเบฑเบเบชเบธเบเบเปเบฒเบ, เบเปเปเบกเบตเบซเบเบฑเบเปเบฅเบฐเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเบญเบเบเปเบญเบ.
เปเบเบเบฒเบเบเบดเบเบชเบฐเบเบต, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบตเปเบฅเบฐเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเบเปเบเบเบเบปเปเบเบเบฒเบเบทเบเปเบซเบกเปเบเบฒเบกเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบ. เปเบซเปเบเบงเบเปเบเบดเปเบเบกเบฑเบเบขเบนเปเปเบเบเปเปเบกเบนเบเบเบตเปเปเบเปเบเบดเบเปเบเบเปเบเปเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเบฐเบฅเบฒเบเบซเบเบถเปเบ, เบชเปเบงเบเบเบฐเบเปเบฒเบงเบฑเบเบเบตเปเบเบญเบเบเบญเบ 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)
เบเบฐเบฅเบดเบกเบฒเบเบเบฑเบเบซเบกเบปเบเบเบญเบเบเบฒเบเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบเบเปเบฒเบเบงเบเบเบญเบ "เบเปเปเปเบเบฑเบเบเบดเบ" เปเบฅเบฐเบเบถเปเบเบเบฑเบเบเบฝเบเปเบเปเบเบฐเบเบงเบเบเบฒเบเบเบฒเบเบเบญเบ, เบชเบฐเบเบฑเปเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบเบฐเบซเบเบฒเบเบเบญเบ heap เปเบเป (pg_relation_size
) เปเบเบเบเปเบฒเบเบงเบเบเบญเบเบเบฑเบเบเบถเบเปเบเบกเบฑเบ - เบเบฑเปเบเปเบกเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบ เบเบฐเบซเบเบฒเบเบชเบฐเปเบฅเปเบเบเบญเบเบเบฒเบเบเบฑเบเบเบถเบเบเบปเบงเบเบดเบ:
เบฅเบปเบ 6%., เบเบดเปเบเปเบซเบเป!
เปเบเป, เปเบเปเบเบญเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเปเป rosy - เบซเบผเบฑเบเบเบฒเบเบเบตเปเบเบฑเบเบซเบกเบปเบ, เปเบเบเบฑเบเบเบฐเบเบตเบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเปเบฝเบเบฅเปเบฒเบเบฑเบเบเบญเบเบเปเบญเบเบเปเปเบกเบนเบ, เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบ "เปเบเบเบเบปเปเบงเปเบ" (pg_total_relation_size
) ...
...เบเบฑเบเบขเบนเปเบเบตเปเบเบตเปเบเบทเบเบฑเบ เบเบฑเบเบเบถเบ 1.5%เปเบเบเบเปเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบชเบฑเปเบเบเบฝเบงเบเบญเบเบฅเบฐเบซเบฑเบ. เปเบกเปเบเปเบฅเปเบง!
เบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเบฑเบเปเบเบเบงเปเบฒเบเบฒเบเปเบฅเบทเบญเบเบเปเบฒเบเปเบเบดเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเปเบเบเบเบทเปเบเบเบตเปเบเปเปเปเบกเปเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบกเบฑเบเปเบกเปเบเบเบตเบเบตเปเบชเบธเบ. เปเบเบฒเบฐเบงเปเบฒเปเบเบปเปเบฒเบเปเปเบเปเบญเบเบเบฒเบ "เบเบตเบ" เบเบฒเบเบเบทเปเบเบเบตเปเบเบญเบเบเบปเปเบเบเบฒเบเปเบงเบเปเบซเบเบเบปเบเบเปเบฒเบเบเบงเบฒเบกเบเบฒเบก - เบเบปเบงเบขเปเบฒเบ, เบเบนเปเบเบปเบงเปเบกเบ. (pack, recno)
, เบเบถเปเบเปเบเบฑเบ PK เบชเปเบฒเบฅเบฑเบเบเบฒเบเบฐเบฅเบฒเบเบเบตเป.
เปเบเบเบเบปเปเบงเปเบ, เบเบฒเบเบเปเบฒเบเบปเบเบเบฒเบเบเบฑเบ "เบเปเบฒเปเบชเบธเบเบเบตเป" เบเบญเบเบเบปเปเบเบเบฒเปเบกเปเบเปเบเบฑเบเบงเบฝเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเปเบชเบปเบกเบเบงเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบเบตเบเบงเปเบฒเบเบฒเบเบเปเปเบกเบนเบเบเบญเบเบเปเบฒเบเบซเบผเบฒเบเบเปเบงเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒ - เบฅเบญเบเบกเบฑเบ!
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com