āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ¤ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻŦāĻĄāĻŧ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻŽ āĻ°ā§āĻāĻ°ā§āĻĄāĻŋāĻ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻ
āĻŦā§āĻ¯āĻžāĻšāĻ¤
āĻāĻŽāĻ°āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻĨāĻž āĻšāĻŦā§ 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 āĻ āĻ¨ā§āĻāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻāĻāĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŽā§āĻĒā§āĻ°ā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻžāĻ°āĻŋāĻāĻŋ āĻāĻāĻ¨āĻ āĻā§āĻŦ āĻŦāĻĄāĻŧ āĻšāĻ˛ā§ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻāĻāĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°ā§āĨ¤
- āĻšāĻžāĻ¤ āĻāĻŽā§āĻĒā§āĻ°ā§āĻļāĻ¨ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ˛āĻžāĻĻāĻž āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ¨āĻ¯āĻŧāĨ¤ (āĻāĻ¸āĻ˛ā§, āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻāĻ˛āĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻĨāĻ āĻ¸āĻā§āĻāĻ¯āĻŧāĻ¸ā§āĻĨāĻžāĻ¨ āĻāĻāĻ¨āĻ āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻšāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻļā§āĻˇ āĻ āĻŦāĻ˛āĻŽā§āĻŦāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻ¯āĻāĻ¨ āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻāĻŋ āĻ¸āĻā§āĻā§āĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ āĻāĻĒāĻžāĻ¯āĻŧ āĻ¨ā§āĻ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻŋ āĻĒā§āĻˇā§āĻ āĻžāĻ¯āĻŧ āĻĢāĻŋāĻ āĻšāĻ¯āĻŧāĨ¤)
āĻĒā§āĻ°āĻā§āĻ¤āĻĒāĻā§āĻˇā§, āĻĒāĻžāĻ ā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¯āĻž āĻĻāĻ°āĻāĻžāĻ° āĻ¤āĻž āĻ āĻŋāĻ āĻāĻāĻŋāĻ - āĻāĻāĻŋ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻ¸āĻāĻā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻāĻāĻŋ āĻāĻā§āĻŦāĻžāĻ°ā§āĻ āĻĢāĻŋāĻ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§ āĻāĻāĻŋ āĻā§āĻ¸ā§āĻā§ āĻ°āĻžāĻā§āĻ¨. āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻĻā§āĻļā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻĄāĻŧā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§:
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