แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— แƒžแƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” PostgreSQL-แƒจแƒ˜

แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒ˜แƒ”แƒ  แƒฌแƒแƒ›แƒแƒญแƒ แƒ˜แƒšแƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ—แƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒแƒก แƒฌแƒ˜แƒœแƒ แƒกแƒขแƒแƒขแƒ˜แƒ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒแƒ›แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ— แƒ’แƒ–แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ˜แƒ—แƒแƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ— แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ "แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜" แƒ–แƒแƒ›แƒ PostgreSQL-แƒจแƒ˜ แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒ’แƒแƒ•แƒšแƒ”แƒœแƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒ–แƒ”.

แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘แƒ— TOAST แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ. "แƒกแƒแƒจแƒฃแƒแƒšแƒแƒ“", แƒ”แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ“แƒแƒ–แƒแƒ’แƒแƒ•แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ‘แƒ”แƒ•แƒ  แƒ แƒ”แƒกแƒฃแƒ แƒกแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— แƒžแƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” PostgreSQL-แƒจแƒ˜
แƒ—แƒฃแƒ›แƒชแƒ, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒ› แƒ›แƒฎแƒ แƒ˜แƒ• แƒซแƒแƒšแƒ˜แƒแƒœ แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ›แƒ˜แƒกแƒ˜ แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ˜แƒ— แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜แƒก แƒจแƒ”แƒœแƒแƒฎแƒ•แƒแƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒแƒ“ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—. แƒ“แƒ แƒ—แƒฃ แƒ’แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒ—, แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒกแƒฌแƒแƒ•แƒšแƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒก แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒฉแƒแƒฌแƒ”แƒ แƒ 200MB / แƒฌ แƒœแƒแƒฎแƒ”แƒ•แƒแƒ แƒ˜ - แƒ’แƒ—แƒฎแƒแƒ•แƒ— แƒ™แƒแƒขแƒ˜แƒก แƒฅแƒ•แƒ”แƒจ.

แƒ“แƒ˜แƒ“แƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒขแƒแƒ แƒ แƒกแƒแƒ˜แƒ“แƒฃแƒ›แƒšแƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜

แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒžแƒ แƒแƒคแƒ˜แƒšแƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒแƒ“ แƒ“แƒแƒคแƒ แƒ˜แƒœแƒแƒ•แƒ”แƒœ แƒ›แƒแƒก แƒ‘แƒฃแƒฉแƒฅแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒขแƒ”แƒฅแƒกแƒขแƒฃแƒ แƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜.

แƒ“แƒ แƒ›แƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ VLSI แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒกแƒ˜แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒก แƒ•แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ— แƒแƒ แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜แƒแƒœแƒ˜ แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ แƒ—แƒฃแƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒ—, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒแƒกแƒ” "แƒ›แƒ แƒแƒ•แƒแƒšแƒขแƒแƒ›แƒ˜แƒแƒœแƒ˜" แƒ แƒ—แƒฃแƒšแƒ˜ แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒฃแƒšแƒ˜ แƒšแƒแƒ’แƒ˜แƒ™แƒ˜แƒ—. แƒแƒกแƒ” แƒ แƒแƒ›, แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ˜แƒœแƒ“แƒ˜แƒ•แƒ˜แƒ“แƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ แƒแƒœ แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒ”แƒ’แƒ›แƒ˜แƒก แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ แƒฉแƒ•แƒ”แƒœแƒ—แƒแƒœ แƒ›แƒแƒกแƒฃแƒš แƒŸแƒฃแƒ แƒœแƒแƒšแƒจแƒ˜ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ "แƒกแƒแƒจแƒฃแƒแƒšแƒแƒ“" แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ“แƒ˜แƒ“แƒ˜.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒฌแƒ”แƒ แƒ— "แƒœแƒ”แƒ“แƒšแƒ”แƒฃแƒš" แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก - แƒแƒœแƒฃ, แƒแƒฅ แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ แƒ˜ แƒขแƒ”แƒฅแƒกแƒขแƒ˜ แƒŸแƒฃแƒ แƒœแƒแƒšแƒ˜แƒก แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒ“แƒแƒœ:

CREATE TABLE rawdata_orig(
  pack -- PK
    uuid NOT NULL
, recno -- PK
    smallint NOT NULL
, dt -- ะบะปัŽั‡ ัะตะบั†ะธะธ
    date
, data -- ัะฐะผะพะต ะณะปะฐะฒะฝะพะต
    text
, PRIMARY KEY(pack, recno)
);

แƒขแƒ˜แƒžแƒ˜แƒฃแƒ แƒ˜ แƒœแƒ˜แƒจแƒแƒœแƒ˜ (แƒฃแƒ™แƒ•แƒ” แƒ“แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜แƒ, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒแƒกแƒ” แƒ แƒแƒ›, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜), แƒกแƒแƒ“แƒแƒช แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ แƒขแƒ”แƒฅแƒกแƒขแƒ˜. แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒ—แƒ˜.

แƒจแƒ”แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒ—, แƒ แƒแƒ› PG-แƒจแƒ˜ แƒ”แƒ แƒ—แƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก โ€žแƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜โ€œ แƒ–แƒแƒ›แƒ แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ˜แƒ™แƒแƒ•แƒแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒ–แƒ” แƒ›แƒ”แƒขแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› โ€žแƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜โ€œ แƒ–แƒแƒ›แƒ แƒกแƒฃแƒš แƒกแƒฎแƒ•แƒ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜แƒ. แƒ•แƒ”แƒšแƒจแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒก (varchar/text/bytea) แƒฉแƒแƒกแƒแƒฌแƒ”แƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— TOAST แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ:

PostgreSQL แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒ–แƒแƒ›แƒแƒก (แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, 8 แƒ™แƒ‘) แƒ“แƒ แƒแƒ  แƒแƒซแƒšแƒ”แƒ•แƒก แƒขแƒฃแƒžแƒšแƒ”แƒ‘แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒ. แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”, แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ“แƒ˜แƒ“แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ. แƒแƒ› แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ˜แƒก แƒ“แƒแƒกแƒแƒซแƒšแƒ”แƒ•แƒแƒ“, แƒ“แƒ˜แƒ“แƒ˜ แƒ•แƒ”แƒšแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒฃแƒšแƒ˜แƒ แƒ“แƒ/แƒแƒœ แƒ˜แƒงแƒแƒคแƒ แƒ›แƒ แƒแƒ•แƒแƒš แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒฎแƒแƒ–แƒ–แƒ”. แƒ”แƒก แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒฃแƒ›แƒฉแƒœแƒ”แƒ•แƒ”แƒšแƒ˜ แƒ“แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒ’แƒแƒ•แƒšแƒ”แƒœแƒแƒก แƒแƒฎแƒ“แƒ”แƒœแƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ”แƒ‘แƒ–แƒ”. แƒ”แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒ“แƒฆแƒ”แƒ’แƒ แƒซแƒ”แƒšแƒ...

แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒงแƒ•แƒ”แƒšแƒ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก "แƒžแƒแƒขแƒ”แƒœแƒชแƒ˜แƒฃแƒ แƒแƒ“ แƒ“แƒ˜แƒ“แƒ˜" แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒ—, แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒชแƒฎแƒ แƒ˜แƒšแƒ˜ โ€žแƒ“แƒแƒญแƒ แƒ˜แƒ—โ€œ. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ "แƒ“แƒ˜แƒ“แƒ˜" แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ 2KB แƒกแƒ”แƒ’แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒจแƒ˜:

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;

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒแƒคแƒแƒกแƒแƒ— แƒ”แƒคแƒ”แƒฅแƒขแƒ˜

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒœแƒแƒ™แƒแƒ“แƒ˜ แƒงแƒแƒ•แƒ”แƒšแƒ“แƒฆแƒ˜แƒฃแƒ แƒแƒ“ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒแƒ“แƒแƒ แƒแƒ— แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒ˜ แƒ แƒ˜แƒชแƒฎแƒ•แƒ”แƒ‘แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ— แƒฃแƒคแƒ แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒฌแƒ˜แƒšแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ”แƒก แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒกแƒแƒ“แƒฆแƒ”แƒ’แƒ แƒซแƒ”แƒšแƒแƒจแƒ˜ - แƒ›แƒ˜แƒ— แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜. แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฅ แƒแƒ แƒ˜แƒก แƒกแƒแƒจแƒ˜แƒจแƒ แƒแƒ”แƒ‘แƒ - แƒ แƒแƒช แƒฃแƒคแƒ แƒ แƒ“แƒ˜แƒ“แƒ˜แƒ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก โ€žแƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜โ€œ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ, แƒ›แƒ˜แƒ— แƒฃแƒคแƒ แƒ โ€žแƒคแƒแƒ แƒ—แƒโ€œ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒคแƒแƒ แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒขแƒ˜ แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜.

แƒกแƒ”แƒฅแƒชแƒ˜แƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒแƒ›แƒ“แƒ”:

heap  = 37GB (39%)
TOAST = 54GB (57%)
PK    =  4GB ( 4%)

แƒกแƒ”แƒฅแƒชแƒ˜แƒ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’:

heap  = 37GB (67%)
TOAST = 16GB (29%)
PK    =  2GB ( 4%)

แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ˜แƒฌแƒงแƒ แƒกแƒแƒ“แƒฆแƒ”แƒ’แƒ แƒซแƒ”แƒšแƒแƒก แƒฌแƒ”แƒ แƒ 2-แƒฏแƒ”แƒ  แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒฎแƒจแƒ˜แƒ แƒแƒ“, แƒ แƒแƒ›แƒ”แƒšแƒ›แƒแƒช แƒ’แƒแƒœแƒขแƒ•แƒ˜แƒ แƒ—แƒ แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒ˜แƒกแƒ™แƒ˜, แƒแƒ แƒแƒ›แƒ”แƒ“ CPU:

แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— แƒžแƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” PostgreSQL-แƒจแƒ˜
แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— แƒžแƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” PostgreSQL-แƒจแƒ˜
แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ•, แƒ แƒแƒ› แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก โ€žแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒกแƒแƒกโ€œ แƒฉแƒ•แƒ”แƒœแƒช แƒ“แƒแƒ•แƒžแƒแƒขแƒแƒ แƒแƒ•แƒ“แƒ˜แƒ— แƒ“แƒ แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ โ€žแƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒกแƒแƒกโ€œ - แƒ แƒแƒ“แƒ’แƒแƒœ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒจแƒ˜ แƒฉแƒแƒกแƒ›แƒ˜แƒกแƒแƒก แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ โ€žแƒฌแƒแƒ•แƒ˜แƒ™แƒ˜แƒ—แƒฎแƒแƒ—โ€œ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ˜แƒก แƒฎแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒ แƒแƒ—แƒ แƒ’แƒแƒœแƒ•แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒ แƒ›แƒแƒ—แƒจแƒ˜.

แƒ•แƒ˜แƒกแƒแƒช แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ˜แƒชแƒฎแƒแƒ•แƒ แƒแƒก PostgreSQL 11-แƒ–แƒ”

PG11-แƒ–แƒ” แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ’แƒแƒ’แƒ•แƒ”แƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ˜แƒœแƒ TOAST-แƒ˜แƒก โ€žแƒ—แƒฃแƒœแƒ˜แƒœแƒ’แƒ˜โ€œ แƒ“แƒ แƒจแƒ”แƒ•แƒœแƒ˜แƒจแƒœแƒ”แƒ—, แƒ แƒแƒ› แƒแƒ› แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ toast_tuple_target:

TOAST แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ“แƒ˜ แƒ˜แƒ แƒ—แƒ•แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒชแƒฎแƒ แƒ˜แƒšแƒจแƒ˜ แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒ˜ แƒ›แƒฌแƒ™แƒ แƒ˜แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒฆแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ TOAST_TUPLE_THRESHOLD แƒ‘แƒแƒ˜แƒขแƒก (แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• 2 แƒ™แƒ‘). TOAST แƒ™แƒแƒ“แƒ˜ แƒจแƒ”แƒ™แƒฃแƒ›แƒจแƒแƒ•แƒก แƒ“แƒ/แƒแƒœ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒก แƒ•แƒ”แƒšแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒœแƒแƒ›, แƒกแƒแƒœแƒแƒ› แƒ›แƒฌแƒ™แƒ แƒ˜แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒแƒ  แƒ’แƒแƒฎแƒ“แƒ”แƒ‘แƒ TOAST_TUPLE_TARGET แƒ‘แƒแƒ˜แƒขแƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ (แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ, แƒแƒกแƒ”แƒ•แƒ” แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• 2 แƒ™แƒ‘) แƒแƒœ แƒ–แƒแƒ›แƒ แƒ•แƒ”แƒ  แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ—, แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒ’แƒ•แƒแƒฅแƒ•แƒก, แƒแƒ แƒ˜แƒก แƒแƒœ โ€žแƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒ™แƒšแƒ”โ€œ แƒแƒœ โ€žแƒซแƒแƒšแƒ˜แƒแƒœ แƒ’แƒ แƒซแƒ”แƒšแƒ˜โ€œ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒจแƒ”แƒ’แƒ•แƒ”แƒ–แƒฆแƒฃแƒ“แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ—:

ALTER TABLE rawplan_orig SET (toast_tuple_target = 128);

แƒ•แƒœแƒแƒฎแƒแƒ—, แƒ แƒแƒ’แƒแƒ  แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒแƒฎแƒแƒšแƒ›แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ›แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒ–แƒ” แƒฎแƒ”แƒšแƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’:

แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— แƒžแƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” PostgreSQL-แƒจแƒ˜
แฒชแƒฃแƒ“แƒ˜ แƒแƒ แƒแƒ! แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ แƒ˜แƒ’แƒ˜ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 1.5-แƒฏแƒ”แƒ  แƒ“แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜ โ€žแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜โ€œ 20 แƒžแƒ แƒแƒชแƒ”แƒœแƒขแƒ˜แƒ! แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒฅแƒœแƒ”แƒ‘ แƒแƒ›แƒแƒœ แƒ แƒแƒฆแƒแƒชแƒœแƒแƒ˜แƒ แƒแƒ“ แƒ˜แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ–แƒ”?

แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— แƒžแƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” PostgreSQL-แƒจแƒ˜
แƒ›แƒแƒ˜แƒœแƒช แƒแƒ  แƒ’แƒแƒฃแƒแƒ แƒ”แƒกแƒ“แƒ. แƒ—แƒฃแƒ›แƒชแƒ, แƒซแƒœแƒ”แƒšแƒ˜แƒ แƒ•แƒ˜แƒ›แƒกแƒฏแƒ”แƒšแƒแƒ—, แƒ—แƒฃ แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ˜แƒœแƒช แƒ•แƒ”แƒ  แƒแƒ›แƒแƒฆแƒšแƒ”แƒ‘แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ CPU แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก 5%.

แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒ“แƒ’แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒ— แƒฏแƒแƒ›แƒ˜... แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ!

แƒ›แƒแƒ’แƒ”แƒฎแƒกแƒ”แƒœแƒ”แƒ‘แƒแƒ—, แƒžแƒ”แƒœแƒ˜ แƒ–แƒแƒ’แƒแƒ•แƒก แƒ แƒฃแƒ‘แƒšแƒก แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒ— แƒ”แƒก แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 10 แƒขแƒ‘/แƒ—แƒ•แƒ”แƒจแƒ˜ แƒ›แƒชแƒ˜แƒ แƒ” แƒแƒžแƒขแƒ˜แƒ›แƒ˜แƒ–แƒแƒชแƒ˜แƒแƒกแƒแƒช แƒ™แƒ˜ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ™แƒแƒ แƒ’แƒ˜ แƒ›แƒแƒ’แƒ”แƒ‘แƒ แƒ›แƒแƒ’แƒ•แƒชแƒ”แƒก. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ•แƒแƒฅแƒชแƒ˜แƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒก - แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ แƒแƒ’แƒแƒ  แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— โ€žแƒ“แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒ˜โ€œ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒแƒ’แƒ˜แƒ“แƒ.

แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ แƒ”แƒก แƒแƒ แƒ˜แƒก แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ’แƒแƒ•แƒšแƒ”แƒœแƒแƒก แƒแƒฎแƒ“แƒ”แƒœแƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒแƒ–แƒ”:

แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒแƒก แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒกแƒ˜แƒขแƒงแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ‘แƒ–แƒ”. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, 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-15 แƒ’แƒ‘.

แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ:

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) แƒ›แƒแƒกแƒจแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ— - แƒแƒœแƒฃ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒ–แƒแƒ›แƒ:

แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— แƒžแƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” PostgreSQL-แƒจแƒ˜
แƒ›แƒ˜แƒœแƒฃแƒก 6% แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ, แƒ“แƒ˜แƒ“แƒ˜!

แƒ›แƒแƒ’แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒแƒ แƒช แƒ˜แƒกแƒ” แƒ•แƒแƒ แƒ“แƒ˜แƒกแƒคแƒ”แƒ แƒ˜แƒ - แƒ‘แƒแƒšแƒแƒก แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ˜แƒœแƒ“แƒ”แƒฅแƒกแƒ”แƒ‘แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒแƒ— แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒแƒ“แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, "แƒ–แƒแƒ’แƒแƒ“แƒแƒ“" (pg_total_relation_size) ...

แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— แƒžแƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” PostgreSQL-แƒจแƒ˜
...แƒ˜แƒกแƒ”แƒ• แƒแƒฅแƒแƒช แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— 1.5%แƒ™แƒแƒ“แƒ˜แƒก แƒ”แƒ แƒ—แƒ˜ แƒฎแƒแƒ–แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แฒ“แƒ˜แƒแƒฎ แƒ“แƒ˜แƒแƒฎ!

แƒ“แƒแƒ–แƒแƒ’แƒ”แƒ— แƒžแƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ” PostgreSQL-แƒจแƒ˜

แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ•, แƒ แƒแƒ› แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒ–แƒ”แƒ›แƒแƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒก แƒคแƒแƒฅแƒขแƒ˜, แƒ แƒแƒ› แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜แƒ. แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒแƒ  แƒ’แƒกแƒฃแƒ แƒ— แƒ”แƒกแƒ—แƒ”แƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜แƒก โ€žแƒ’แƒแƒฌแƒงแƒ•แƒ”แƒขแƒโ€œ - แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒฌแƒงแƒ•แƒ˜แƒšแƒ˜ (pack, recno), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒก PK แƒแƒ› แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก โ€žแƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜โ€œ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒ“แƒแƒ“แƒ’แƒ”แƒœแƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ โ€žแƒฃแƒฎแƒ”แƒจแƒ˜ แƒซแƒแƒšแƒ˜แƒกโ€œ แƒแƒ›แƒแƒชแƒแƒœแƒแƒ. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒฉแƒ•แƒ”แƒœแƒ˜ - แƒกแƒชแƒแƒ“แƒ”แƒ—!

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ