เชฆเซเชตเชพเชฐเชพ เชเชญเชพ เชเชฐเชพเชฏเซเชฒเชพ เชฎเซเชเชพ เชกเซเชเชพ เชธเซเชเซเชฐเซเชฎเซเชธเชจเซ เชฐเซเชเซเชฐเซเชก เชเชฐเชตเชพเชจเซ เชตเชฟเชทเชฏ เชเชพเชฒเซ เชฐเชพเชเชตเซ
เชตเชฟเชถเซ เชตเชพเชค เชเชฐเซเชถเซเช 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 เชคเชฐเซเชเซ เชเชณเชเชพเชฏ เชเซ...
เชตเชพเชธเซเชคเชตเชฎเชพเช, "เชธเชเชญเชตเชฟเชค เชฐเซเชชเซ เชฎเซเชเชพ" เชเซเชทเซเชคเซเชฐเซ เชธเชพเชฅเซเชจเชพ เชฆเชฐเซเช เชเซเชทเซเชเช เชฎเชพเชเซ, เชเชชเชฎเซเชณเซ
TOAST(
chunk_id
integer
, chunk_seq
integer
, chunk_data
bytea
, PRIMARY KEY(chunk_id, chunk_seq)
);
เชเชเชฒเซ เชเซ, เชเซ เชเชชเชฃเซ "เชฎเซเชเชพ" เชฎเซเชฒเซเชฏ เชธเชพเชฅเซ เชธเซเชเซเชฐเชฟเชเช เชฒเชเชตเชพเชจเซ เชนเซเชฏ data
, เชชเชเซ เชตเชพเชธเซเชคเชตเชฟเช เชฐเซเชเซเชฐเซเชกเชฟเชเช เชฅเชถเซ เชฎเชพเชคเซเชฐ เชฎเซเชเซเชฏ เชเซเชฌเชฒ เช
เชจเซ เชคเซเชจเชพ เชชเซเชเซ เชฎเชพเชเซ เช เชจเชนเซเช, เชชเชฃ เชเซเชธเซเช เช
เชจเซ เชคเซเชจเชพ เชชเซเชเซ เชฎเชพเชเซ เชชเชฃ.
TOAST เชชเซเชฐเชญเชพเชต เชเชเชพเชกเชตเซ
เชชเชฐเชเชคเซ เช เชฎเชพเชฐเชพ เชฎเซเชเชพเชญเชพเชเชจเชพ เชฐเซเชเซเชฐเซเชก เชนเชเซ เชชเชฃ เชเชเชฒเชพ เชฎเซเชเชพ เชจเชฅเซ, 8KB เชฎเชพเช เชซเชฟเช เชฅเชตเซเช เชเซเชเช - เชนเซเช เชเชจเชพ เชชเชฐ เชชเซเชธเชพ เชเซเชตเซ เชฐเซเชคเซ เชฌเชเชพเชตเซ เชถเชเซเช? ..
เช เชคเซ เชเซ เชเซเชฏเชพเช เชตเชฟเชถเซเชทเชคเชพ เช
เชฎเชพเชฐเซ เชธเชนเชพเชฏ เชฎเชพเชเซ เชเชตเซ เชเซ STORAGE
- เชตเชฟเชธเซเชคเซเชค เชเชฎเซเชชเซเชฐเซเชถเชจ เช เชจเซ เช เชฒเช เชธเซเชเซเชฐเซเช เชฌเชเชจเซเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เช เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชตเชฟเชเชฒเซเชช เชฎเซเชเชพเชญเชพเชเชจเชพ TOAST เชธเซเชธเชเชเชค เชกเซเชเชพ เชชเซเชฐเชเชพเชฐเซ เชฎเชพเชเซ. เชคเซ เชชเซเชฐเชฅเชฎ เชเชฎเซเชชเซเชฐเซเชถเชจ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชเซ, เชชเชเซ เชเซ เชชเชเชเซเชคเชฟ เชนเชเซ เชชเชฃ เชเซเชฌ เชฎเซเชเซ เชนเซเชฏ เชคเซ เชคเซเชจเซ เชเซเชฌเชฒเชจเซ เชฌเชนเชพเชฐ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเซ เชเซ.
- เชนเชพเชฅ เชเชฎเซเชชเซเชฐเซเชถเชจเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ เชชเชฐเชเชคเซ เช เชฒเช เชธเซเชเซเชฐเซเชเชจเซ เชจเชนเซเช. (เชนเชเซเชเชคเชฎเชพเช, เชเชตเชพ เชเซเชฒเชฎ เชฎเชพเชเซ เช เชฒเช เชธเซเชเซเชฐเซเช เชนเชเซ เชชเชฃ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ, เชชเชฐเชเชคเซ เชฎเชพเชคเซเชฐ เชเซเชฒเซเชฒเชพ เชเชชเชพเชฏ เชคเชฐเซเชเซ, เชเซเชฏเชพเชฐเซ เชถเชฌเซเชฆเชฎเชพเชณเชพเชจเซ เชธเชเชเซเชเชตเชพเชจเซ เชฌเซเชเซ เชเซเช เชฐเซเชค เชจ เชนเซเชฏ เชเซเชฅเซ เชคเซ เชชเซเชทเซเช เชชเชฐ เชซเชฟเช เชฅเช เชเชพเชฏ.)
เชนเชเซเชเชคเชฎเชพเช, เช เชคเซ เช เชเซ เชเซเชจเซ เชเชชเชฃเชจเซ เชเซเชเซเชธเซเช เชฎเชพเชเซ เชเชฐเซเชฐ เชเซ - เชคเซเชจเซ เชถเชเซเชฏ เชคเซเชเชฒเซเช เชธเชเชเซเชเชฟเชค เชเชฐเซ, เช เชจเซ เชเซ เชคเซ เชฌเชฟเชฒเชเซเชฒ เชซเชฟเช เชจ เชนเซเชฏ, เชคเซ เชคเซเชจเซ 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_TUPLE_TARGET เชฌเชพเชเชเซเชธ (เชเชฒ เชฎเซเชฒเซเชฏ, เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ 2 KB เชชเชฃ) เชเชฐเชคเชพเช เชเชเซเช เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ TOAST เชเซเชก เชซเซเชฒเซเชก เชฎเซเชฒเซเชฏเซเชจเซ เชเซเชฎเซเชชเซเชฐเซเชธ เชเชฐเชถเซ เช เชจเซ/เช เชฅเชตเชพ เชเซเชทเซเชเชเชจเซ เชฌเชนเชพเชฐ เชเชธเซเชกเชถเซ เช เชฅเชตเชพ เชเชฆ เชเชเชพเชกเซ เชถเชเชพเชถเซ เชจเชนเซเช.
เช เชฎเซ เชจเชเซเชเซ เชเชฐเซเชฏเซเช เชเซ เชเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเซ เชกเซเชเชพ เชนเซเชฏ เชเซ เชคเซ เชเชพเช เชคเซ "เชเซเชฌ เช เชเซเชเชเซ" เช เชฅเชตเชพ "เชเซเชฌ เชฒเชพเชเชฌเซ" เชนเซเชฏ เชเซ, เชคเซเชฅเซ เช เชฎเซ เชชเซเชคเชพเชจเซ เชจเซเชฏเซเชจเชคเชฎ เชธเชเชญเชตเชฟเชค เชฎเซเชฒเซเชฏ เชธเซเชงเซ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชเชฐเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช เชเซ:
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