ืืขืจ ืืึทืจืืื ืืื ืขืืืขืืข ืึทืคึผืจืึธืืืฉืื ืืืึธืก ืืึธืื ืืึธื ืืืึธืจ ืื ืคืึธืจืฉืืขืืื ื ืคืื SQL ืงืืืืจืื ืืืขื ืขืก ืืขื ืขื ืืืืืึทื ื ืคืื ืืื ืคึผืขืจ ืืึธื, ืืื ืขืก ืืขื ืขื ืืื ืืขืจืืขืจ ืคืื ืืึธื ืืืึธืจืขื PostgreSQL ืกืขืจืืืขืจืก.
ืืืึธืก ืืขืื ืืฉ ืกืึทืืืฉืึทื ื ืืึธืื ืืื ืื ืฆื ืืคืืฉืึทื ืืื ืคึผืจืึธืฆืขืก ืึทืืึท ืึท ืืึทื ื ืคืื ืืื ืคึฟืึธืจืืึทืฆืืข, ืืื ืืื ืงืขื ืืึธืก ืืึทืื ืื ืืขืื ืคืื ืึท ืคึผืจืึธืกื ืืขืืืขืืึธืคึผืขืจ ืืจืื ืืขืจ?
ืืืขืจ ืืื ืืื ืืขืจืขืกืืจื? ืึทื ืึทืืืกืืก ืคืื ืกืคึผืขืฆืืคืืฉ ืคึผืจืึธืืืขืืก ืืื ืคืึทืจืฉืืื ืึทืคึผืืึทืืึทืืืืฉืึทื ืืขืงื ืืงืก ืกืงื ืงืืืืจืื ืืื ืกืึทืืืืื ื ืืืคึผืืฉ ืืืึท ืคึผืจืึธืืืขืืก ืืื PostgreSQL - ืืืจ ืงืขื ืขื ืืืื
ืืืื ื ืึธืืขื ืืื ืงืืจืื ืืึธืจืึธืืืืงืึธืื, ืืื ืจืขืคึผืจืึทืืขื ืฅ
ืืืึทื ื ืืื ืืืขื ืืึธืื ืืืจ ืืื ืืืจ ืึทืคึผืืึทืืืื ืงืืืืจืื ืืืขื ืืืจ ืืึธื ื ืื ืืึทืจืคึฟื ืฆื "ืงืืืึทืื ืืึทืืื ืืขืจ" ืื ืคืึธืจืฉืืขืืื ื ืคืื ืึท ืืืื ืึธื ืคึฟืจืขื, ืึธืืขืจ ืกืึธืืืืข ืื ืคึผืจืึธืืืขื ืืึทืกืืื. ืืืขื ืขืก ืืขื ืขื ืืืืืึทื ื ืคืื ืจืืงืืืขืก, ืืื ืืืจ ืืึทืจืคึฟื ืฆื ืืขืคึฟืื ืขื ืขืืืขืืข ืึทืคึผืจืึธืืืฉืื ืฆื ืืืืืื ื ืืขื ืืจืืืกื ืคึผืจืึธืืืขื.
ืืื ืึทืืืขืืืื, ืืขื ืกืึธืจ ืคึฟืึทืจ ืึท ืืืืืึธื ืคืื ืืื ืืืขืจ ืงืืืืึทื ืฅ ืืื
ืฆื ืขื ืฉืืจ ืึทื ืืื ืึทืืข ืึทืจืืขื ืืื ืึทื ืืืืืงืืขื ื ืึธืจืืึทืื, ืืืจ ืืึธืื 10 ืึทื ืืืืืงืืื ื ืกืขื ืืขืจืก ืืืืขืจ ืื ืืืื ื, ืืื ืืขืจ ืืื ืืื 1000 ืืขืืืขืืึธืคึผืขืจืก.
ืืืจ ืืึธืื ืืจืืขืื ืืื PostgreSQL ืืื ื 2008 ืืื ืืึธืื ืึทืงืืืืืึทืืืืืื ืึท ืืจืืืก ืกืืืข ืคืื โโืืืึธืก ืืืจ ืคึผืจืึธืฆืขืก - ืงืืืขื ื ืืึทืื, ืกืืึทืืืกืืืฉ, ืึทื ืึทืืืกืืก, ืืึทืื ืคึฟืื ืคืื ืืจืืืกื ืืืง ืืื ืคึฟืึธืจืืึทืฆืืข ืกืืกืืขืืขื - ืืขืจ ืืื 400 ืื. ืขืก ืืขื ืขื ืืืขืื 250 ืกืขืจืืืขืจืก ืืื ืคึผืจืึธืืืงืฆืืข ืึทืืืื, ืืื ืืื ืืึทื ืฅ ืขืก ืืขื ืขื ืืืขืื 1000 ืืึทืืึทืืืืก ืกืขืจืืืขืจืก ืืืึธืก ืืืจ ืืึธื ืืืึธืจ.
SQL ืืื ืึท ืืขืงืืึทืจืึทืืืืืข ืฉืคึผืจืึทื. ืืืจ ืืึทืฉืจืืึทืื ื ืืฉื "ืืื" ืขืคึผืขืก ืืึธื ืึทืจืืขืื, ืึธืืขืจ "ืืืึธืก" ืืืจ ืืืืื ืฆื ืืขืจืืจืืืื. ืื DBMS ืืืืืกื ืืขืกืขืจ ืืื ืฆื ืืึทืื ืึท JOIN - ืืื ืฆื ืคืึทืจืืื ืื ืืืื ืืืฉื, ืืืึธืก ืื ืึธืื ืฆื ืึธื ืืึธื, ืืืึธืก ืืืขื ืืืื ืืืจื ืื ืืื ืืขืงืก, ืืืึธืก ืืืขื ื ืืฉื ...
ืขืืืขืืข ืืืืก ืึธื ื ืขืืขื ืืื ืฅ: "ื ืืื, ืคืึทืจืืื ืื ืื ืฆืืืื ืืืฉื ืืื ืึทืืึท ืืื ืึทืืึท ืึท ืจืื," ืึธืืขืจ PostgreSQL ืงืขื ื ืืฉื ืืึธื ืืึธืก. ืืึธืก ืืื ืื ืืึทืืืืกืืืื ืืง ืฉืืขืืข ืคืื โโืืืืื ื ืืขืืืขืืึธืคึผืขืจืก: "ืืืจ ืืืขืื ืืื ืขื ืืืงื ืื ืึธื ืคึฟืจืขื ืึธืคึผืืืืืืขืจ ืืื ืืึธืื ืืขืืืขืืึธืคึผืขืจืก ืฆื ื ืืฆื ืขืืืขืืข ืืื ืคืื ืืื ืฅ."
ืึธืืขืจ, ืืจืึธืฅ ืืขื ืคืึทืงื ืึทื PostgreSQL ืืื ื ืืฉื ืืึธืื ืื "ืึทืจืืืก" ืฆื ืงืึธื ืืจืึธืืืจื ืืื, ืขืก ืืืฉืืืืืขืก ืึทืืึทืื ืืขื ืืืืก ืขืก ืืื ืืื ืืื ืืืืืืขื ืืืจ ืืืืคื ืืืื ืึธื ืคึฟืจืขื, ืืื ืืื ืขืก ืืื ืคึผืจืึธืืืขืืก.
ืืื ืึทืืืขืืืื, ืืื ืืืึธืก ืงืืึทืกืืฉ ืคึผืจืึธืืืขืืก ืืืืฉืึทืืืึทืื ืงืืืขื ืืื ืึท ืืขืืืขืืึธืคึผืขืจ [ืฆื ืึท ืืืึท]? โืืึธ ืืึธืื ืืืจ ืืขืจืคืืื ืื ืืงืฉื, ืืื ืึทืืฅ ืืื ืคึผืึทืืขืืขื ืืื ืืื ืื, ืืืฅ ืืขื ืื , ืขืคืข ืก ืคืืกืืจื... ืขืคืขืก ื ืฆืจื!
ืื ืกืืืืช ืืขื ืขื ืึผืืขื ืฉืืขื ืืืง ืื ืืขืืืข:
- ืืึทืืืึธื ืืฉ ืึธื ืคึฟืจืขื ืึทืืืขืจืืืึทื
ืืขืืืขืืึธืคึผืขืจ: "ืืืฆื ืืื ืืขืื ืืื 10 ืืืฉื ืืื ืกืงื ืืืจื JOIN ..." - ืืื ืืงืกืคึผืขืงืฅ ืึทื ืืืื ืื ืึธืื ืืืขื ืืืื ืืคืขืงืืืืืื "ืึทื ืืืื" ืืื ืขืจ ืืืขื ืืึทืงืืืขื ืึทืืฅ ืืขืฉืืืื ื. ืืืขืจ ืืืจืึทืงืึทืื ืืึธื ื ืื ืคึผืึทืกืืจื, ืืื ืงืืื ืกืืกืืขื ืืื ืึทืืึท ืืืขืจืืึทืืืืืื (10 ืืืฉื ืืื ืืืื FROM) ืฉืืขื ืืืง ืืื ืึท ืืื ืคืื ืืขืืช. [ืึทืจืืืงื ] - ืึทืืืืืืืื ืกืืึทืืืกืืืง
ืืขืจ ืคืื ื ืืื ืืืืขืจ ืืึทืืืึทืืืง ืกืคึผืึทืกืืคืืงืื ืคึฟืึทืจ PostgreSQL, ืืืขื ืืืจ "ืืืืกืืขืืืกื" ืึท ืืจืืืก ืืึทืืึทืกืขื ืึทื ืื ืื ืกืขืจืืืขืจ, ืืึทืื ืึท ืืงืฉื ืืื ืขืก "ืกืขืงืกืงืึทื ืืฅ" ืืืื ืืึทืืืขื. ืืืืึทื ื ืขืืื ืขืก ืืขื ืขื ืืขืืืขื 10 ืจืขืงืึธืจืืก ืืื ืขืก, ืืื ืืืึทื ื ืขืก ืืขื ืขื 10 ืืืืืึธื, ืึธืืขืจ PostgreSQL ืืื ื ืืฉื ืึทืืืขืจ ืคืื ืืขื, ืืื ืืืจ ืืึทืจืคึฟื ืฆื ืืึธืื ืขืก ืืืขืื ืืื. [ืึทืจืืืงื ] - "ืฆืึทืคึผื" ืืืืฃ ืจืขืกืืจืกื
ืืืจ ืืึธื ืืื ืกืืึทืืืจื ืึท ืืจืืืก ืืื ืฉืืืขืจ ืืึธืืืื ืืึทืืึทืืืืก ืืืืฃ ืึท ืฉืืืึทื ืกืขืจืืืขืจ ืืืึธืก ืืื ื ืืฉื ืืขื ืื ืืืกืง, ืืึผืจืื ืึธืืขืจ ืคึผืจืึทืกืขืกืขืจ ืคืึธืจืฉืืขืืื ื. ืืื ืึทื ืก ืึทืืข ... ืขืจืืขืฅ ืขืก ืืื ืึท ืคืึธืจืฉืืขืืื ื ืกืืคืื ืืืืื ืืืึธืก ืืืจ ืงืขื ืขื ื ืื ืืขืจ ืฉืคึผืจืื ืืขื. - ืืืึทืงืื ื
ืืึธืก ืืื ืึท ืฉืืืขืจ ืคืื ื, ืึธืืขืจ ืืื ืืขื ืขื ืืขืจืกื ืืึทืืืึทืืืง ืคึฟืึทืจ ืคืึทืจืฉืืื ืืึทืืึทืคืืืื ื ืคึฟืจืืื (INSERT, UPDATE, DELETE) - ืืึธืก ืืื ืึท ืืึทืืื ืืขืจ ืืจืืืก ืืขืืข.
ืืึทืงืืืขื ืึท ืคึผืืึทื
... ืืื ืคึฟืึทืจ ืึทืืฅ ืึทื ืืขืจืฉ ืืืจ ืืึทืจืคึฟื ืึท ืคึผืืึทื! ืืืจ ืืึทืจืคึฟื ืฆื ืืขื ืืืึธืก ืืื ืืขืฉืขืขื ืืฉ ืืื ืื ืกืขืจืืืขืจ.
ื ืึธื ืคึฟืจืขื ืืืจืืคืืจืื ื ืคึผืืึทื ืคึฟืึทืจ PostgreSQL ืืื ืึท ืืืื ืคืื ืื ืึธื ืคึฟืจืขื ืืืจืืคืืจืื ื ืึทืืืขืจืืืึทื ืืื ืืขืงืกื ืคืึทืจืืจืขืืื ื. ืขืก ืืื ืคึผืื ืงื ืืขืจ ืึทืืืขืจืืืึทื ืึทื, ืืื ืึท ืจืขืืืืืึทื ืคืื ืึทื ืึทืืืกืืก ืคืื ืื ืคึผืืึทื ืขืจ, ืืื ืืขืืืขื ืื ืืขืจืกื ืขืคืขืงืืืื.
ืืขืืขืจ ืืืื ื ืึธืืข ืืื ืึทื ืึธืคึผืขืจืึทืฆืืข: ืจืืืจืืืืื ื ืืึทืื ืคืื ืึท ืืืฉ ืึธืืขืจ ืืื ืืขืงืก, ืืืืขื ืึท ืืืืืึทืคึผ, ืคืึทืจืืื ืื ืฆืืืื ืืืฉื, ืคืึทืจืืื ืื, ืื ืืขืจืกืขืงืืื ื ืึธืืขืจ ืืืกืฉืืืกื ืกืขืืขืงืฉืึทื ื. ืขืงืกืึทืงืืืืื ื ืึท ืึธื ืคึฟืจืขื ืื ืืืึทืืืื ืืืื ืืืจื ืื ื ืึธืืื ืคืื ืืขื ืืืื.
ืฆื ืืึทืงืืืขื ืื ืึธื ืคึฟืจืขื ืคึผืืึทื, ืื ืืืืึทืกื ืืืขื ืืื ืฆื ืืืกืคืืจื ืื ืืขืจืงืืขืจืื ื EXPLAIN
. ืฆื ืืึทืงืืืขื ืืื ืึทืืข ืคืึทืงืืืฉ ืึทืืจืืืืืฅ, ืืึธืก ืืื, ืฆื ืึทืงืฉืื ืืืกืคืืจื ืึท ืึธื ืคึฟืจืขื ืืืืฃ ืืขืจ ืืึทืืข - EXPLAIN (ANALYZE, BUFFERS) SELECT ...
.
ืื ืฉืืขืื ืืืื: ืืืขื ืืืจ ืืืืคื ืขืก, ืขืก ืืึทืคึผืึทื ื "ืืึธ ืืื ืืืฆื", ืึทืืื ืขืก ืืื ืืืืื ืคึผืึทืกืืง ืคึฟืึทืจ ืืืืข ืืืืึทืืื ื. ืืืื ืืืจ ื ืขืืขื ืึท ืืขืืกื ืืึธืืืื ืกืขืจืืืขืจ ืืืึธืก ืืื ืืื ืืขืจ ืึท ืฉืืึทืจืง ืืืืคื ืคืื ืืึทืื ืขื ืืขืจืื ืืขื, ืืื ืืืจ ืืขื: "ืึธื! ืืึธ ืืืจ ืืึธืื ืึท ืคึผืึทืืขืืขื ืืืจืืคืืจืื ืืงืกืืึท ืืขืื." ืึท ืืึทืื ืฉืขื, ืึท ืฉืขื ืฆืืจืืง - ืืฉืขืช ืืืจ ืืืืคื ืืื ืืึทืงืืืขื ืืขื ืืขืื ืคืื ืื ืืึธืืก, ืืจืขื ืืขื ืขืก ืฆืืจืืง ืฆื ืื ืกืขืจืืืขืจ, ืืืื ืืื ืฆืข ืืึทืืึทืืืืก ืืื ืกืืึทืืืกืืืง ืืึธืื ืืขืืืื. ืืืจ ืืืืคื ืขืก ืฆื ืืืืึทื - ืืื ืขืก ืืืืคื ืืขืฉืืืื ื! ืืื ืืืจ ืงืขื ืขื ื ืืฉื ืคึฟืึทืจืฉืืืื ืืืึธืก, ืืืึธืก ืขืก ืืื ืืขืืืขื ืคึผืึทืืขืืขื.
ืึผืื ืฆื ืคึฟืึทืจืฉืืืื ืืืึธืก ืืื ืืขืฉืขื ืคึผืื ืงื ืืื ืืขื ืืึธืืขื ื ืืืขื ืื ืืงืฉื ืืื ืขืงืกืึทืงืืืืึทื ืืืืฃ ืื ืกืขืจืืืขืจ, ืงืืื ืืขื ืืฉื ืืขืฉืจืืื
ืืืื ืขืก ืจืืืืืืื ืึทื ืขืืืขืืข ืืขืื ืืื ืคืืืกื ืืืง ืืขืจ ืืื ืื ืฉืืขืืจ ืืืจ ืืึธื ืืขืืึธืื ืขืก ืฆื, ืขืก ืืื "Snapshot" ืคืื ืืขื ืคึผืืึทื ืคืื ืืขื ืืงืฉื ืืื ืฉืจืืืื ืืื ืฆืืืึทืืขื ืืื ืื ืงืืึธืฅ.
ะัะพะดะต ะฒัะต ัะตะฟะตัั ั
ะพัะพัะพ, ะธะดะตะผ ะฒ ะปะพะณ ะธ ะฒะธะดะธะผ ัะฐะผโฆ [ะฟะพัััะฝะบะฐ ัะตะบััะฐ]. ะะพ ัะบะฐะทะฐัั ะฝะธัะตะณะพ ะฟัะพ ะฝะตะณะพ ะฝะต ะผะพะถะตะผ, ะบัะพะผะต ัะพะณะพ ัะฐะบัะฐ, ััะพ ััะพ ะพัะปะธัะฝัะน ะฟะปะฐะฝ, ะฟะพัะพะผั ััะพ ะฒัะฟะพะปะฝัะปัั 11ะผั.
ืึทืืฅ ืืืื ื ืฆื ืืืื ืคืืึทื - ืึธืืขืจ ืืึธืจื ืืฉื ืืื ืงืืึธืจ ืืืึธืก ืคืืงืืืฉ ืืขืืจืืคื. ืึทืืืฅ ืื ืึทืืืขืืืื ืข ืฆืืื, ืืืจ ืืึธื ื ืื ืืึทืงืข ืืขื ืขืคึผืขืก. ืืืืึทื ืงืืงื ืืื ืึทืืึท ืึท "ืืึทื" ืคืื ืงืืึธืจ ืืขืงืกื ืืื ืืืื ื ืืฉื ืืืืืฉืึทืืืึทื.
ืึธืืขืจ ืืคืืื ืืืื ืขืก ืืื ื ืืฉื ืงืืึธืจ ืืื ืืขืจ ืืึธื, ืืคืืื ืืืื ืขืก ืืื ืืืืึทืงืืืขื, ืขืก ืืขื ืขื ืืขืจ ืคืื ืืึทืืขื ืืึทื ืคึผืจืึธืืืขืืก:
- ืืขืจ ื ืึธืืข ืื ืืืงืืืฅ ืกืึทืืึทืงื ืคืื ืจืขืกืืจืกื ืคืื ืื ืืื ืฆืข ืกืืืืจืืข ืืื ืืขืจ ืืื. ืืึธืก ืืื, ืืืจ ืงืขื ื ื ืืฉื ื ืึธืจ ืืขืคึฟืื ืขื ืืื ืคืื ืฆืืื ืืื ืคืืจืืจืืื ืืืืฃ ืืขื ืืึทืืื ืืขืจ ืื ืืขืงืก ืกืงืึทื ืืืื ืขืก ืืื ืึท ื ืขืกืืขื ืฆืืฉืืึทื ื ืืื ืืขืจ ืขืก. ืืืจ ืืืื ืืื ืึทืืืงืึทืืื ืงืืงื ืฆื ืืขื ืืืื ืขืก ืืขื ืขื "ืงืื ืืขืจ" ืืื ืงืึทื ืืืฉืึทื ืึทื ืืืขืจืืึทืืึทืื, CTEs ืื - ืืื ืึทืจืึธืคึผืจืขืืขื ืขื ืึทืืข ืืขื "ืืื ืืื ืืืขืจ ืืืฉืืืช".
- ืฆืืืืืืข ืคืื ื: ืื ืฆืืื ืืืึธืก ืืื ืื ืืขืืืืื ืืืืฃ ืื ื ืึธืืข ืืื ืืืื ื ืึธืืข ืืืจืืคืืจืื ื ืฆืืึทื. ืืืื ืืขืจ ื ืึธืืข ืืื ืืขืืืขื ืขืงืกืึทืงืืืืึทื ืืื ืึท ืจืขืืืืืึทื ืคืื, ืืืฉื, ืึท ืฉืืืืฃ ืืืจื ืืืฉ ืจืขืงืึธืจืืก ืขืืืขืืข ืืึธื, ืื ื ืืืขืจ ืคืื ืืืคึผืก - ืกืืืงืึทืื ืคืื ืืขื ื ืึธืืข - ืื ืงืจืืกืื ืืื ืืขื ืคึผืืึทื. ืืืขืจ ืื ืึทืืึธืืืฉืข ืืืจืืคืืจืื ื ืฆืืื ืืื ืืืืืื ืื ืืขืืืข ืืื ืืขืจืืื ืขื ืคืื ืคึผืืึทื. ืึทื ืืื, ืืื ืกืืจ ืฆื ืคึฟืึทืจืฉืืืื ืืื ืืึทื ื ืืขื ื ืึธืืข ืืื ืืืจืืืขืงืึธืื ืืื ืืึทื ืฅ, ืืืจ ืืึทืจืคึฟื ืฆื ืืขืจื ืืืื ืืึทื ืืืจื ืื ืืขืจื - ืืืืืขืจ, "ืืื ืืืื ืงืึธืคึผ."
ืืื ืึทืืึท ืกืืืืึทืืืึธื ืก, ืคึฟืึทืจืฉืืืื "ืืืขืจ ืืื ืื ืืืืงืึทืกื ืืื ืง?" ืึผืืขื ืืืืืขืืืขื. ืืขืจืืืขืจ, ืืคืืื ืื ืืขืืืขืืึธืคึผืขืจืก ืืื ืฉืจืืึทืื ืืื ืื "ืืึทื ืืึทื" ืึทื "ืคึฟืึทืจืฉืืึทื ืขื ืึท ืคึผืืึทื ืืื ืึท ืงืื ืกื ืืืึธืก ืืืื ืืืื ืืขืืขืจื ื, ืืขืจืคืึทืจืื ื ...".
ืึธืืขืจ ืืืจ ืืึธืื 1000 ืืขืืืขืืึธืคึผืขืจืก, ืืื ืืืจ ืงืขื ืขื ื ืืฉื ืงืึทื ืืืื ืื ืืขืจืคืึทืจืื ื ืฆื ืืขืืขืจ ืคืื ืืื. ืืื, ืื, ืขืจ ืฐืฒืก, ืึธืืขืจ ืขืืขืฆืขืจ ืืึธืจื ืฐืฒืก ืฉืฑื ื ืื. ืืคึฟืฉืจ ืฐืขื ืขืจ ืืื ืืขืจื ืขื, ืึธืืขืจ ืืคึฟืฉืจ ื ืืฉื, ื ืึธืจ ืขืจ ืืึทืจืฃ ืืืฆื ืึทืจืืขืื โ ืืื ืคึฟืื ืฐืึทื ืขื ืืืึธืื ืขืจ ืืึทืงืืืขื ืื ืืึธืืืงืข ืืขืจืคืึทืจืื ื?
ืคึผืืึทื ืืืืืฉืืืึทืืึทืืืืฉืึทื
ืืขืจืืืขืจ, ืืืจ ืืืื ืืขืืขื ืึทื ืฆื ืืึทื ืืืขื ืืื ืื ืคืจืืืืขืืขื, ืืืจ ืืึทืจืคึฟื ืืื ืืืืืฉืืืึทืืึทืืืืฉืึทื ืคืื ืืขื ืคึผืืึทื.
ืืืจ ืขืจืฉืืขืจ ืืขืืื ืืขื "ืืืจื ืื ืืึทืจืง" - ืืึธืืืจ ืงืืงื ืืืืฃ ืื ืืื ืืขืจื ืขื ืฆื ืืขื ืืืึธืก ืืคืืื ืืืืืกืฅ.
ืึธืืขืจ, ืขืก ืืื ืืขืืืขื ืืืืขืจ ืืืืื ืืง ืืขืคืืขืจืขื "ืืขืื" ืกืึทืืืฉืึทื ื ืืืึธืก ืืขื ืขื ืืขืจ ืึธืืขืจ ืืืืื ืืงืขืจ ืืขืืืขืืึธืคึผืื ื - ืืืฉ ืืืืื ืืืื:
- ื ืึธืืข ืก ืืืืื ืคึผืจืึทืกืขืกืื ื ืฆืืื
- ืืึทื ืฅ ืฆืืื ืคึฟืึทืจ ืื ืืื ืฆืข ืกืืืืจืืข
- ื ืืืขืจ ืคืื ืจืขืงืึธืจืืก ืืืึธืก ืืขื ืขื ืจืืืจืืืื ืืืึธืก ืืขื ืขื ืกืืึทืืืกืืืฉ ืืขืจืืืึทืจื
- ืื ื ืึธืืข ืืืฃ ืืื
ืืขืจ ืืื ืกื ืืืื ืืื ืื ืคืืืืงืืื ืฆื ืืืืื ืึทื ืึทืจืงืืืื ืคืื ืืื ืงืก. ืืืจ ืืึธื ืึทืจืืื ืืขืืืึธืจืคื ืืืื ืคึผืืึทื ืืื ืืขืืืื: "ืืื, ืืืึทืกืืึท, ืืึธ ืก ืึท ืืื ืง, ืขืก ืืื ืขืคึผืขืก ืคืึทืืฉ ืืึธืจื."
ืืืขืจ ืขืก ืืขื ืขื ืืืื ืงืืืื ืคืจืืืืขืืขื.
ืขืจืฉืืขืจ, ืึท ืจืืืืง ืกืืืข ืคืื โโ"ืงืึธืคึผื-ืคึผืึทืกืืข". ืืืจ ื ืขืืขื ืึท ืฉืืืง ืคืื ืื ืงืืึธืฅ, ืฉืืขืงื ืขืก ืืึธืจื, ืืื ืืืืืขืจ, ืืื ืืืืืขืจ.
ืจืืข, ืื ืงืืื ืึทื ืึทืืืกืืก ืคืื ืื ืกืืืข ืคืื โโืืืืขื ืขื ืืึทืื - ืื ืืขืืืข ืืึทืคืขืจื ืึทื ืจืขืืืืืึทื EXPLAIN (ANALYZE, BUFFERS)
, ืืืจ ืืึธื ื ืื ืืขื ืขืก ืืึธ. ืขืจ ืคืฉืื ืืื ื ืืฉื ืืืืกื ืืื ืฆื ืืืกืึทืกืขืืืึทื ืืื, ืคึฟืึทืจืฉืืืื ืืื ืืื ืึทืจืืขืื ืืื ืืื. ืืืขื ืืืจ ืืืืขื ืขื ืึท ืคึผืืึทืฅ ืคืื ืืึทืื ืืื ืคืึทืจืฉืืืื ืึทื ืืืจ ืงืขื ืืืื ืืืกืึทืืึธืงืึทืืื ื ืื ืืืกืง ืืื ืืึผืจืื ืงืึทืฉ, ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืืืืขืจ ืืืืืืืง.
ืื ืืจืื ื ืขืืึทืืืื ืคืื ื ืืื ืื ืืืืขืจ ืฉืืืึทื ืึทื ืืืืืงืืื ื ืคืื ืืขื ืคึผืจืืืขืงื. ืื ืงืึทืืืฅ ืืขื ืขื ืืืืขืจ ืงืืืื, ืขืก ืืื ืืื ืืืื ืึทืืึธื ืืขืืขืจ ืืขืงืก ืืืฉืื, ืืื ืื ืงืึธื ืืื ืืื ืคึผืขืจื.
ืืืขืจ ืืึธืก ืืื ืึทืืข "ืืืจืืงืก", ืืืจ ืงืขื ืขืคืขืก ืืขืื ืืื ืืขื, ืึธืืขืจ ืขืก ืืื ืืืื ืืึทื ืืืึธืก ืืืืขืจ ืงืขืจื ืืื ืื ืึทืืืขืง ืคืื ืืขื ืืื ืกื. ืืึธืก ืืขื ืขื ืขืจืจืึธืจืก ืืื ืืขืจ ืึทื ืึทืืืกืืก ืคืื ืงืึธืืืึธื ืืืฉ ืขืงืกืคึผืจืขืกืกืืึธื (CTE) ืืื ืคืึทืจืฉืืื ืืื ืึทืืืฉ ื ืึธืืื ืืื InitPlan / SubPlan.
ืืืื ืืืจ ืืืืืื ืืขื ืืืื, ืื ืืึทื ืฅ ืืืจืืคืืจืื ื ืฆืืื ืคืื ืืขืืขืจ ืืืื ื ืึธืืข ืืื ืืจืขืกืขืจ ืืื ืื ืืึทื ืฅ ืืืจืืคืืจืื ื ืฆืืื ืคืื ืื ืืื ืฆืข ืืงืฉื. ืขืก ืืื ืคึผืฉืื - ืื ืืืจ ืฆืืื ืคืื ืืขื CTE ืืื ื ืืฉื ืกืึทืืืจืึทืงืืื ืคืื ืื CTE ืกืงืึทื ื ืึธืืข. ืืขืจืืืขืจ, ืืืจ ื ืื ืืขืจ ืืืืกื ืื ืจืืืืืง ืขื ืืคืขืจ ืฆื ืืื ืืึทื ื ืื CTE ืืืขืจืงืืงื ืืื ืืขื ืืืขื.
ืืขืืึธืื ืืืจ ืืืื ืืขืืขื ืึทื ืขืก ืืื ืฆืืึทื ืฆื ืฉืจืืึทืื ืืื ืืืขืจ ืืืืื - ืืืจืจืึท! ืืขืืขืจ ืืขืืืขืืึธืคึผืขืจ ืืืื: "ืืืฆื ืืืจ ืืืขืื ืฉืจืืึทืื ืืื ืืืขืจ ืืืืืขื ืข, ืขืก ืืืขื ืืืื ืกืืคึผืขืจ ืืจืื ื!"
ืืืจ ืืขื ืืืขื ืึท ืึธื ืืืืื ืืืคึผืืฉ ืคึฟืึทืจ ืืืขื ืืึทืืื ืื ืืก: ืึท ืืึทืจืฅ ืืืืืจื ืืืืฃ Node.js + Express, ืืขืืืืื ื Bootstrap ืืื D3.js ืคึฟืึทืจ ืฉืืื ืืืืึทืืจืึทืื. ืืื ืืื ืืืขืจ ืขืงืกืคึผืขืงืืืืฉืึทื ื ืืขื ืขื ืืึธืจ ืืขืจืขืืืคืืจืืืงื - ืืืจ ืืืงืืืขื ืืขืจ ืขืจืฉืืขืจ ืคึผืจืึธืืืึทืืืืคึผ ืืื 2 ืืืึธืื:
- ืื ืื ืคึผืืึทื ืคึผืึทืจืกืขืจ
ืึทื ืืื, ืืืฆื ืืืจ ืงืขื ืขื ืคึผืึทืจืก ืงืืื ืคึผืืึทื ืคืื ืื ืืืฉืขื ืขืจืืืืึทื ืืืจื PostgreSQL. - ืจืืืืืง ืึทื ืึทืืืกืืก ืคืื ืืื ืึทืืืฉ ื ืึธืืื - CTE ืกืงืึทื, InitPlan, SubPlan
- ืึทื ืึทืืืกืืก ืคืื ืืึทืคืขืจ ืคืึทืจืฉืคึผืจืืืืื ื - ืืื ืืึทืื ืืืขืืขืจ ืืขื ืขื ืืืืขื ืขื ืคึฟืื ืืึผืจืื, ืืื ืคึฟืื ืื ืืืืข ืงืึทืฉ, ืืื ืคึฟืื ืืืกืง
- ืืึทื ืงืืขืจืืื
ื ืื ืฆื "ืืจืึธืื" ืึทืืข ืืขื ืืื ืื ืงืืึธืฅ, ืึธืืขืจ ืฆื ืืขื ืื "ืืืืงืึทืกื ืืื ืง" ืจืขืื ืึทืืืขืง ืืื ืื ืืืื.
ืืืจ ืืึธืื ืขืคึผืขืก ืืื ืืึธืก, ืืื ืกืื ืืึทืงืก ืืืืืืืืื ื ืึทืจืืึทื ืืขืจืขืื ื. ืืืขืจ ืืืืฉืึทืืืึทืื ืืื ืืืขืจ ืืขืืืขืืึธืคึผืขืจืก ื ืื ืืขืจ ืึทืจืืขืื ืืื ืึท ืืึทื ืฅ ืคืึทืจืืจืขืืื ื ืคืื ืืขื ืคึผืืึทื, ืึธืืขืจ ืืื ืึท ืงืืจืฆืขืจ ืืืื ืขืจ. ื ืึธื ืึทืืข, ืืืจ ืืึธืื ืฉืืื ืคึผืึทืจืกืขื ืึทืืข ืื ื ืืืขืจื ืืื ืืจืื ืืขืืืืจืคื ืืื ืงืก ืืื ืจืขืื, ืืื ืืื ืื ืืืื ืืืจ ืืื ืงืก ืืืืื ืื ืขืจืฉืืขืจ ืฉืืจื, ืืืึธืก ืืื ืคืื ื ืึธืืข ืขืก ืืื: CTE Scan, CTE generation ืึธืืขืจ Seq Scan ืืืื ืขืืืขืืข ืฆืืืื.
ืืึธืก ืืื ืื ืึทืืจืืืืืืืืื ืคืึทืจืืจืขืืื ื ืืืึธืก ืืืจ ืจืืคื ืคึผืืึทื ืืืกืืขืจ.
ืืืึธืก ืึทื ืืขืจืฉ ืืืึธืื ืืืื ืืึทืงืืืขื? ืขืก ืืืึธืื ืืืื ืืึทืงืืืขื ืฆื ืืขื ืืืึธืก ืืืื ืคืื ืืื ืืืขืจ ืืึทื ืฅ ืฆืืื ืืื ืึทืืึทืงืืืืื ืฆื ืืืึธืก ื ืึธืืข - ืืื ื ืึธืจ "ืฉืืขืงื ืขืก" ืฆื ืื ืืืึทื ืคึผืืจืึธื ืืฉืึทืจื.
ืืืจ ืคืื ื ืฆื ืื ื ืึธืืข ืืื ืืขื - ืขืก ืืืจื ืก ืืืืก ืึทื ืกืขืง ืกืงืึทื ืืขื ืืืขื ืืืืื ืืงืขืจ ืืื ืึท ืคืขืจืื ืคืื ืื ืืึทื ืฅ ืฆืืื, ืืื ืื ืจืืขื 3/4 ืืื ืืขื ืืืขื ืืืจื CTE ืกืงืึทื. ืืจืืื! ืืึธืก ืืื ืึท ืงืืืื ืืึทืืขืจืงืื ื ืืืขืื ืื "ืคืืืขืจ ืงืืจืก" ืคืื CTE ืกืงืึทื ืืืื ืืืจ ืึทืงืืืืืื ื ืืฆื ืืื ืืื ืืืื ืคึฟืจืืื. ืืื ืืขื ืขื ื ืืฉื ืืืืขืจ ืฉื ืขื - ืืื ืืขื ืขื ืขืจืืขืจ ืืคืืื ืฆื ืจืขืืืืขืจ ืืืฉ ืกืงืึทื ืื ื.
ืืืขืจ ืืืืฉืึทืืืึทืื ืึทืืึท ืืืืึทืืจืึทืื ืืขื ืขื ืืขืจ ืืฉืืงืึทืืืข, ืืขืจ ืงืึธืืคึผืืืฆืืจื, ืืืขื ืืืจ ืืื ืคืื ื ืืืืฃ ืึท ืึธืคึผืฉื ืื ืืื ืืขื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืึทื ืืขืจ ืืื ืืึทืื ืคืื ืื ืฆืืื ืขืืืขืืข ืกืขืง ืกืงืึทื "ืืขืืขืกื". ืืขืจืฆื, ืขืก ืืื ืืขืืืขื ืึท ืืื ืคืื ืคืืืืขืจ ืื, ืึท ืคึผืืึทืฅ ืคืื ืจืขืงืึธืจืืก ืืขื ืขื ืึทืืืขืงืืขื ืืืขื ืืืื ืืื ... ืืืจ ืงืขื ืขื ืืืืื ืืืึทืจืคื ืืขื ืืืื ืฆื ืื ืืขืืืขืืึธืคึผืขืจ ืืื ืืึธืื: "ืืืึทืกืืึท, ืึทืืฅ ืืื ืฉืืขืื ืืึธ ืคึฟืึทืจ ืืืจ! ืฉืืขื ืขืก ืืืืก, ืงืืง โ ืขืคึผืขืก ืืื ืคืึทืืฉ!โ
ืืขืืืืื ืืืขื, ืขืก ืืขื ืขื ืืขืืืขื ืขืืืขืืข "ืจืึทืงืขืก".
ืืขืจ ืขืจืฉืืขืจ ืืึทื ืืืึธืก ืืืจ ืืขืคึฟืื ืขื ืืื ืืขืืืขื ืื ืจืึทืื ืืื ื ืคึผืจืึธืืืขื. ืื ืฆืืื ืคืื ืืขืืขืจ ืืืื ื ืึธืืข ืืื ืืขื ืคึผืืึทื ืืื ืื ืืขืืืืื ืืื ืึท ืึทืงืืขืจืึทืกื ืคืื 1 ฮผs. ืืื ืืืขื ืื ื ืืืขืจ ืคืื ื ืึธืืข ืกืืืงืึทืื ืืงืกืืื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, 1000 - ื ืึธื ืืืจืืคืืจืื ื ืคึผืึธืกืืืจืขืกืงื ืฆืขืืืืื "ืื ืึทืงืืขืจืึทืกื", ืืขืืึธืื ืืืขื ืงืึทืืงืืึทืืืืืื ื ืฆืืจืืง, ืืืจ ืืึทืงืืืขื ืื ืืึทื ืฅ ืฆืืื "ืขืจืืขืฅ ืฆืืืืฉื 0.95ms ืืื 1.05ms". ืืืขื ืื ืฆืืืื ืืืื ืฆื ืืืงืจืึธืกืขืงืึธื ืืก, ืืึธืก ืืื ืึธืืงืื, ืึธืืขืจ ืืืขื ืขืก ืืื ืฉืืื [ืืืื] ืกืขืงืื ืืขืก, ืืืจ ืืืื ื ืขืืขื ืืขื ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืืฉืืื ืืืขื "ืึทื ืืืืื ื" ืจืขืกืืจืกื ืฆื ืื ื ืึธืืื ืคืื ืื "ืืืขืจ ืงืึทื ืกืืื ืืื ืคืื" ืคึผืืึทื.
ืื ืฆืืืืืืข ืคืื ื, ืืขืจ ืงืึธืืคึผืืืฆืืจื, ืืื ืื ืคืึทืจืฉืคึผืจืืืืื ื ืคืื ืจืขืกืืจืกื (ืืขื ืข ืืึทืคืขืจื) ืฆืืืืฉื ืืื ืึทืืืฉ ื ืึธืืื. ืืึธืก ืงืึธืก ืืื ืื ืื ืขืจืฉืืขืจ 2 ืืืึธืื ืคืื ืื ืคึผืจืึธืืืึทืืืืคึผ ืคึผืืืก ื ืึธื 4 ืืืึธืื.
ืขืก ืืื ืืึทื ืฅ ืืจืื ื ืฆื ืืึทืงืืืขื ืืขื ืืื ืคืื ืคึผืจืึธืืืขื - ืืืจ ืืึธื ืึท CTE ืืื ืกืึทืคึผืึธืืืึทืืื ืืืืขื ืขื ืขืคึผืขืก ืืื ืขืก. ืืื ืคืึทืงื, PostgreSQL ืืื "ืงืืื" ืืื ืืืขื ื ืืฉื ืืืืขื ืขื ืขืคึผืขืก ืืืืึทื ืืึธืจื. ืืขืจื ืึธื ืืืจ ื ืขืืขื ืืขืจ ืขืจืฉืืขืจ ืจืขืงืึธืจื ืคืื ืขืก, ืืื ืฆื ืืื ืืขืจ ืืื ืืขืจื ืืื ืขืจืฉืืขืจ ืืืื ืขืจ ืคืื ืื ืืขืืืข CTE.
ืืืจ ืงืืงื ืืื ืืขื ืคึผืืึทื ืืื ืคึฟืึทืจืฉืืืื - ืขืก ืืื ืืึธืื ืข, ืืืจ ืืึธืื 3 ืืึทืคืขืจื (ืืึทืื ืืืขืืขืจ) "ืงืึทื ืกืืื" ืืื Seq Scan, 1 ืืขืจ ืืื CTE ืกืงืึทื, ืืื 2 ืืขืจ ืืื ืื ืจืืข CTE ืกืงืึทื. ืึทื ืืื, ืืืื ืืืจ ืคืฉืื ืกืึทืืึทืงื ืึทืืฅ, ืืืจ ืืืขืื ืืึทืงืืืขื 6, ืึธืืขืจ ืคึฟืื ืื ืืึทืืืขื ืืืจ ืืืืขื ืขื ืืืืื 3! CTE ืกืงืึทื ืงืขื ื ืืฉื ืืืืขื ืขื ืขืคึผืขืก ืคึฟืื ืขืจืืขืฅ, ืึธืืขืจ ืึทืจืืขื ืืืืื ืืื ืืขื ืคึผืจืึธืฆืขืก ืืึผืจืื. ืืึธืก ืืฒืกื, ืืึธ ืืื ืืึธื ืขืคึผืขืก ืึท ืืขืืช!
ืืืขืฉื ืงืืื ืืืืก ืื ืื ืืขื ืขื ืืืข ืื 3 ืืืืื ืืืื ืืืืก ืืขื ืืื ืืขืืขืื ืคืื ืกืขืง ืกืงืื, ืงืืื 1 ืืขืืขืื ืืขื 1ืื CTE ืกืงืื ืืื ืืขืจื ืื ืืื ืืขื ืืื ืืขืืืืขื ื ืื 2 ืืื ื ืื 2 ืืืก ืืืืกื ืกื ืืื. 3 ืืืขืืขืจ ืืขื ืขื ืืืืขื ืขื ืืึทืื, ื ืืฉื 6.
ืืื ืืึธืก ืืืื ืืึธื ืืื ืื ืืขืืจืึทืื ืฆื ืืขืจ ืฉืื, ืึทื ืื ืืืจืืคืืจืื ื ืคืื ืึท ืคึผืืึทื ืืื ื ืื ืืขืจ ืึท ืืืื, ื ืึธืจ ืึท ืืื ืคืื ืึทืกืืงืืืง ืืจืึทืคืืง. ืืื ืืืจ ืืึธืื ืึทืืึท ืึท ืืืึทืืจืึทืืข, ืึทืืื ืึทื ืืืจ ืคึฟืึทืจืฉืืืื "ืืืึธืก ืืื ืืขืงืืืขื ืคึฟืื ืืื ืืื ืขืจืฉืืขืจ ืึธืจื." ืืึธืก ืืืืกื, ืืึธ ืืืจ ืืึธืื ืืืฉืืคื ืึท CTE ืคืื pg_class, ืืื ืืขืืขืื ืคึฟืึทืจ ืขืก ืฆืืืื ืืึธื, ืืื ืึผืืขื ืึทืืข ืคืื โโโโืืื ืืืขืจ ืฆืืื ืืื ืคืืจืืจืืื ืืืืฃ ืื ืฆืืืืึทื ืืืขื ืืืจ ืืขืืขืื ืคึฟืึทืจ ืขืก ืื 2 ืืึธื. ืขืก ืืื ืงืืึธืจ ืึทื ืืืืขื ืขื ืื 101 ืคึผืึธืืืฆืืข ืืื ืคืื ืืขืจ ืืืึทืขืจ ืืื ื ืึธืจ ืืืืขื ืขื ืื 1 ืคึผืึธืืืฆืืข ืคึฟืื ืื ืืึทืืืขื.
ืื ืจ ืืื ื ืื ื ื ืฐืฒื ืข ืืจืืืกืืขืืืคื . ืืื ืืขืืืื: "ืืืฆื, ื ืขืึธ, ืืืจ ืืืืกื ืงืึทื ื ืคื! ืืืฆื ืืื ืืืขืจ ืืขืจืคืึทืจืื ื ืืื ืจืขืื ืืืืฃ ืืืื ืคืึทืจืฉืืขืื. ืืืฆื ืืืจ ืงืขื ืขื ื ืืฆื ืขืก."
ืงืืึธืฅ ืงืึทื ืกืึทืืึทืืืืฉืึทื
ืืื ืืืขืจ 1000 ืืขืืืขืืึธืคึผืขืจืก ืึธืืขืืขื ืึท ืืืคืฅ ืคืื ืจืขืืืขืฃ. ืึธืืขืจ ืืืจ ืืึธืื ืคืืจืฉืืื ืขื ืึทื ืืืจ ืืึธืื ืืืืื ืืื ืืขืจืืขืจ ืคืื "ืงืึทืืืึทื" ืกืขืจืืืขืจืก, ืืื ืึทืืข ืืขื "ืงืึธืคึผื-ืคึผืึทืกืืข" ืคืื ืื ืืขืืืขืืึธืคึผืขืจืก ืืื ื ืืฉื ืืึทืงืืืขื. ืื ืจ ืืื ื ืื ื ืคืืจืฉืืื ืขื , ื ื ืื ืจ ืืืจืค ื ืื ื ืืืฒื ืืืืืขื .
ืืื ืึทืืืขืืืื, ืขืก ืืื ืึท ื ืึธืจืืึทื ืืึธืืืืข ืืืึธืก ืงืขื ืขื ืงืืืึทืื ืกืืึทืืืกืืืง, ืึธืืขืจ ืขืก ืืืื ืืึทืจืฃ ืืืื ืึทืงืืืืืืืืื ืืื ืื ืงืึธื ืคืื - ืืึธืก
ืคืืจืกืืื, ืขืก ืึทืกืืื ื ืฆื ืื ืืขืืืข ืงืืืืจืื ืืื ืคืึทืจืฉืืืขื ืข ืกืงืืื ืืื ืืขืจ ืืขืืืืงืขืจ ืืึทืืึทืืืืก ืคืึทืจืฉืืืขื ืข QueryIds. ืึทื ืืื, ืืืื ืืืจ ืขืจืฉืืขืจ ืืึธื SET search_path = '01'; SELECT * FROM user LIMIT 1;
ืืื ืืขืจืืืขืจ SET search_path = '02';
ืืื ืืขืจ ืืขืืืืงืขืจ ืืขืื, ืื ืกืืึทืืืกืืืง ืคืื ืืขื ืืึธืืืืข ืืืขื ืืึธืื ืคืึทืจืฉืืืขื ืข ืจืขืงืึธืจืืก, ืืื ืืื ืืืขื ื ืืฉื ืงืขื ืขื ืฆื ืืึทืืืขื ืึทืืืขืืืื ืข ืกืืึทืืืกืืืง ืกืคึผืึทืกืืคืืงืื ืืื ืืขื ืงืึธื ืืขืงืกื ืคืื ืืขื ืืขืื ืคึผืจืึธืคืื, ืึธื ืืขื ืืืขื ืืื ืืฉืืื ืื ืกืงืืื.
ืื ืฆืืืืืืข ืคืื ื ืืืึธืก ืคึผืจืืืืขื ืืื ืืื ืื ืคืื ื ืืฆื ืขืก ืืื ืืึทื ืื ืคืื ืคึผืืึทื ื. ืืึธืก ืืืืกื, ืขืก ืืื ืงืืื ืคึผืืึทื, ืขืก ืืื ืืืืื ืื ืืงืฉื ืืื. ืืืจ ืืขื ืืืึธืก ืกืืึธืื ืึทืจืึธืคึผ, ืึธืืขืจ ืืืจ ืืึธื ื ืื ืคึฟืึทืจืฉืืืื ืืืึธืก. ืืื ืืึธ ืืืจ ืฆืืจืืงืงืืืขื ืฆื ืื ืคึผืจืึธืืืขื ืคืื ืึท ืจืึทืคึผืึทืืื ืืฉืึทื ืืื ื ืืึทืืึทืกืขื.
ืืื ืื ืืขืฆืืข ืืึธืืขื ื - ืคืขืื ืคืื "ืคืืงืื". ืึทื ืืื, ืืืจ ืงืขื ืขื ื ืืฉื ืึทืืจืขืก ืึท ืกืคึผืขืฆืืคืืฉ ืืืึทืฉืคึผืื ืคืื ืึธื ืคึฟืจืขื ืืืจืืคืืจืื ื - ืขืก ืืื ืืึธืจื ืื, ืขืก ืืื ืืืืื ืึทืืืจืขืืึทืืขื ืกืืึทืืืกืืืง. ืืึธืืฉ ืขืก ืืื ืืขืืืขื ืฆื ืึทืจืืขืื ืืื ืืขื, ืขืก ืืื ื ืึธืจ ืืืืขืจ ืฉืืืขืจ.
ืืขืจืืืข ืจ ืืื ื ืื ืจ ืืืฉืืืก ื ืฆ ื ืืืงืขืืค ื ืงืืคืึพืคืืกื , ืื ื ืื ืืขืืืื ื ืฉืจืฒืื ืืึทืืืขืจ.
ืืขืจ ืืึทืืืขืจ ืงืึทื ืขืงืฅ ืืืจื SSH, ืืกืืึทืืืืฉืื ืึท ืืืืขืจ ืงืฉืจ ืฆื ืื ืกืขืจืืืขืจ ืืื ืื ืืึทืืึทืืืืก ื ืืฆื ืึท ืืึทืืืืึทืื, ืืื tail -F
"ืงืืื ืื" ืฆื ืขืก ืืื ืื ืงืืึธืฅ ืืขืงืข. ืึทืืื ืืื ืืขื ืกืขืกืืข ืืืจ ืืึทืงืืืขื ืึท ืืึทื ืฅ "ืฉืคึผืืื" ืคืื ืื ืืื ืฆืข ืงืืึธืฅ ืืขืงืข, ืืืึธืก ืื ืกืขืจืืืขืจ ืืืฉืขื ืขืจืืืฅ. ืื ืืึทืกืข ืืืืฃ ืื ืกืขืจืืืขืจ ืืื ืืื ืืื ืืืึทื, ืืืืึทื ืืืจ ืืึธื ื ืื ืคึผืึทืจืก ืขืคึผืขืก ืืึธืจื, ืืืจ ื ืึธืจ ืฉืคึผืืื ืื ืคืึทืจืงืขืจ.
ืืื ื ืืืจ ืืึธืื ืฉืืื ืกืืึทืจืืขื ืฉืจืืืื ืื ืฆืืืื ื ืืื Node.js, ืืืจ ืคืึธืจืืขืฆื ืฆื ืฉืจืืึทืื ืื ืงืึทืืขืงืืขืจ ืืื ืขืก. ืืื ืืขื ืืขืื ืึธืืึธืืืข ืืื ืืขืจืขืืืคืืจืืืงื ืืื, ืืืืึทื ืขืก ืืื ืืืืขืจ ืืึทืงืืืขื ืฆื ื ืืฆื ืืืฉืึทืืืึทืกืงืจืืคึผื ืฆื ืึทืจืืขืื ืืื ืฉืืืึทื ืคืึธืจืืึทืืืขื ืืขืงืกื ืืึทืื, ืืืึธืก ืืื ืื ืงืืึธืฅ. ืืื ืื Node.js ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืืื ืืื ืึท ืืึทืงืขื ื ืคึผืืึทืืคืึธืจืืข ืึทืืึทืื ืืืจ ืฆื ืืืืื ืืื ืงืึทื ืืืื ืืึทื ืืื ืึทืจืืขืื ืืื ื ืขืฅ ืงืึทื ืขืงืฉืึทื ื, ืืื ืืึทืงืข ืืื ืงืืื ืืึทืื ืกืืจืืื.
ืึทืงืงืึธืจืืื ืืื, ืืืจ "ืืืืกืฉืืจืขืงื" ืฆืืืื ืงืึทื ืขืงืฉืึทื ื: ืืขืจ ืขืจืฉืืขืจ ืฆื "ืืขืจื" ืฆื ืื ืงืืึธืฅ ืืื ืืื ื ืขืืขื ืขืก ืฆื ืืื, ืืื ืื ืจืืข ืฆื ืคึผืืจืืึทืืืงืื ืคืจืขืื ืื ืืึทืืข. "ืึธืืขืจ ืืขืจ ืงืืึธืฅ ืืืืืื ืึทื ืืขืจ ืฆืืืื ืืื ืึธืื 123 ืืื ืืคืืขืฉืืขืื," ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืืืื ืขื ืขืคึผืขืก ืคึฟืึทืจ ืื ืืขืืืขืืึธืคึผืขืจ, ืืื ืขืก ืืืึธืื ืืืื ืคืืึทื ืฆื ืคืจืขืื ืื ืืึทืืึทืืืืก, "ืืืึธืก ืืื ืึธืื = 123 ืกืืึท ืืื ืกืืึท?" ืืื ืึทืืื ืืืจ ืคึผืืจืืึทืืืงืื ืคืจืขืื ืื ืืึทืืข ืืืึธืก ืืืจ ืืึธื ื ืื ื ืึธื ืืืืกื ืืืขืื ืืื.
"ืขืก ืืื ืืืืื ืืืื ืืึทื ืืืึธืก ืืืจ ืืึธื ื ืืฉื ืืขื ืืืขื ืืื ืืฉืืื, ืขืก ืืื ืึท ืืื ืื ืคืื ืืขืืคืึทื ื-ืืื ืืื! .." ืืืจ ืกืืึทืจืืขื ืืขืืืขืืึธืคึผืื ื ืืขื ืกืืกืืขื ืืืขื ืืืจ ืืขืืืืื ืฆื ืืึธื ืืืึธืจ 10 ืกืขืจืืืขืจืก. ื ื ืงืจืืืืงืื ืข ืื ื ืืื ืืืข ืจ ืคืืจืฉืืื ื , ืฐื ื ืืฒื ืข ื ืืืืคืืขืฉืืื ืข ื ืขืืืขื ืข ืคืจืืืืขืืข ื ืฐื ื ืื ื ืืขืฐืข ื ืฉืฐืข ืจ ืฆ ื ืืื ืืืขื . ืึธืืขืจ ืืื ืืขืจ ืขืจืฉืืขืจ ืคืขืจืื, ืืืจ ืืืงืืืขื ืึท ืืื ืืขืจื ืคึฟืึทืจ ืืึธื ืืืึธืจืื ื - ืืืืึทื ืื ืกืืกืืขื ืืขืืจืืขื, ืึทืืขืืขื ืืขืืืืื ืขืก, ืึทืืขืืขื ืืื ืืึทืงืืืขื.
ืึทืืข ืืขื ืืึทืจืฃ ืฆื ืืืื ืฆืืืขืืขืื, ืื ืืึทืื ืืืืคื ืืื ืืจืืืก ืืื ืึทืงืืืื. ืืื ืคืึทืงื, ืืืึธืก ืืืจ ืืึธื ืืืึธืจ, ืืืึธืก ืืืจ ืงืขื ืขื ืืึทื ืืืขื ืืื, ืืื ืืืึธืก ืืืจ ื ืืฆื. ืืืจ ืืืื ื ืืฆื PostgreSQL ืืื ืึท ืืึทืื ืกืืึธืจืืืืฉ. ืืื ืืึธืจื ืืฉื ืืื ืคืึทืกืืขืจ ืฆื "ืืืกื" ืืึทืื ืืื ืขืก ืืื ืืขืจ ืึธืคึผืขืจืึทืืึธืจ COPY
ื ืื ื ืืฉื.
ืึธืืขืจ ืคืฉืื "ืืืกื" ืืึทืื ืืื ื ืื ืืึทืงืข ืืื ืืืขืจ ืืขืื ืึธืืึธืืืข. ืืืืึทื ืืืื ืืืจ ืืึธืื ืืขืขืจืขื 50 ืง ืจืืงืืืขืก ืคึผืขืจ ืกืขืงืื ืืข ืืืืฃ ืึท ืืื ืืขืจื ืกืขืจืืืขืจืก, ืืึธืก ืืืขื ืืืฉืขื ืขืจืืื 100-150 ืื ืคืื ืืึธืืก ืคึผืขืจ ืืึธื. ืืขืจืืืขืจ, ืืืจ ืืึธืื ืฆื ืงืขืจืคืึทืื "ืฉื ืืึทืื" ืื ืืึทืืข.
ืขืจืฉืืขืจ, ืืืจ ืืืื ืฆืขืืืืืื ื ืืื ืืึธื, ืืืืื , ืืืืื , ืงืฒื ืข ืจ ืื ื ื ืืฉ ื ืคืืจืืื ืืขืจืขืกืืจ ื ืื ื ืืข ืจ ืคืืจืืฒื ืืงืื ื ืฆืฐืืฉ ื ืืขื . ืืืึธืก ืืืืืง ืืื ืขืก ืืึทืื ืืืึธืก ืืืจ ืืึธื ื ืขืืื, ืืืื ืืืึทื ื ืืืึท ื ืึทืื ืืืจ ืจืึธืืื ืืืืก ืึท ื ืืึทืข ืืืขืจืกืืข ืคืื โโืื ืึทืคึผืืึทืงืืืฉืึทื - ืืื ืฉืืื ืขืืืขืืข ื ืืึทืข ืกืืึทืืืกืืืง.
ืฆืืืืืื ืก, ืืืจ ืืขืืขืจื ื (ืืขื ืขื ืืขืฆืืืื ืืขื) ืืืืขืจ, ืืืืขืจ ืฉื ืขื ืฆื ืฉืจืืึทืื ื ืืฆื COPY
. ืืึธืก ืืฒืกื, ื ืื ื ืึธืจ COPY
ืืืืื ืขืจ ืืื ืฉื ืขืืขืจ ืืื INSERT
, ืืื ืืคืืื ืคืึทืกืืขืจ.
ืื ืืจืื ืคืื ื - ืืื ืืขืืื ืฆื ืคืึทืจืืึธืื ืืจืืืขืจื, ืจืืกืคึผืขืงืืืืืื, ืืื ืคืจืขืื ืฉืืืกืืขื. ืืึธืก ืืื, ืืืจ ืืึธืื ืงืืื ืจืขืคืขืจืขื ืืฉืึทื ืึธืจื ืืืขืืงืืึทื ืืื ืึทืืข. ืืืืึทื ืืืื ืืืจ ืืึธืื ืึท ืืืฉ ืืื ืึท ืคึผืึธืจ ืคืื ืคืงืก, ืืื ืืืจ ืืึธืื ืืื ืื ืืึทืืึทืืืืก ืกืืจืืงืืืจ ืึทื "ืืึธ ืืื ืึท ืงืืึธืฅ ืจืขืงืึธืจื ืืืึธืก ืืื ืจืขืคืขืจืจืขื ืืืจื FK, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืฆื ืึท ืืจืืคึผืข ืคืื โโืจืขืงืึธืจืืก," ืืขืืึธืื ืืืขื ืืืจ ืึทืจืืึทื ืืืืื ืขืก, PostgreSQL ืืื ืืึธืจื ืืฉื ืืื ืงืก ืึธืืขืจ ืืื ืฆื ื ืขืืขื ืขืก ืืื ืืึธื ืขืก ืขืจืืขื SELECT 1 FROM master_fk1_table WHERE ...
ืืื ืื ืืืืขื ืืืคืืฆืืจื ืืืึธืก ืืืจ ืคึผืจืึผืืื ืึทืจืืึทื ืืืืื - ื ืึธืจ ืฆื ืงืึธื ืืจืึธืืืจื ืึทื ืื ืจืขืงืึธืจื ืืื ืคืึธืจืฉืืขืื ืืึธืจื, ืึทื ืืืจ ืืึธื ื ืื "ืืจืขืื ืึทืืืขืง" ืืขื ืคืจืขืื ืฉืืืกื ืืื ืืืื ืื ืกืขืจืฉืึทื.
ืึทื ืฉืืึธื ืืืื ืจืขืงืึธืจื ืฆื ืื ืฆืื ืืืฉ ืืื ืืืึทื ืื ืืขืงืกืื, ืืืจ ืืึทืงืืืขื ืื ืฆืืืขืืืืื ื ืืฅ ืคืื ืืืืขื ืขื ืคืื ืึทืืข ืื ืืืฉื ืขืก ืจืขืคืขืจืก ืฆื. ืึธืืขืจ ืืืจ ืืึธื ื ืื ืืึทืจืคึฟื ืืึธืก ืืืึท ืึทืืข - ืืื ืืืขืจ ืึทืจืืขื ืืื ืฆื ืจืขืงืึธืจืืืจื ืืื ืคืื ืืื ืืขืืืขื ืืื ืืื ืืขืฉืืืื ื ืืื ืืขืืืขื ืืื ืืขืจ ืืื ืืกืืขืจ ืืึทืกืข. ืึทืืื FK - ืึทืจืึธืคึผ!
ืืขืจ ืืืืึทืืขืจ ืคืื ื ืืื ืึทืืืจืขืืึทืืืึธื ืืื ืืึทืฉืื ื. ืืืืืขืก, ืืืจ ืืืคึผืืึทืืขื ืึทื ืืื ืืื ืื ืืึทืืึทืืืืก - ื ืึธื ืึทืืข, ืขืก ืืื ืืึทืงืืืขื ืฆื ืืืืื, ืืืขื ืึท ืจืขืงืึธืจื ืงืืื, ืืึธื ืืึธืก ืืื ืึท ืืืคึผ ืคืื ืืึทืืืขื "ืคึผืืืก ืืืื ืขืจ" ืจืขืื ืืื ืื ืฆืื ืื. ื ื, ืขืก ืืื ืืึทืงืืืขื, ืึธืืขืจ ืื ืืขืืืข ืฉืืขืื ืืึทื - ืืืจ ืึทืจืืึทื ืืืืื ืืืื ืจืขืงืึธืจื, ืึธืืขืจ ืืืจ ืืขื ื ืืขืฆืืืื ืืขื ืฆื ืืืืขื ืขื ืืื ืฉืจืืึทืื ืขืคึผืขืก ืึทื ืืขืจืฉ ืคืื ืื ืื ืืขืจ ืืืฉ. ืืขืจืฆื, ืืืจ ืืึธื ื ืื ืืืืื ืืืืขื ืขื ืืื ืฉืจืืึทืื, ืืืจ ืืึธื ืืึธืก ืืืื ืืขืืขืจ ืืึธื.
ืืืฆื ืืืึทืืืฉืึทื ืึทื ืืืจ ืืึธืื ืึท ืืืฉ ืืื ืืืึธืก ืืืจ ื ืึธืจ ืฆืืืื ืื ื ืืืขืจ ืคืื ืจืืงืืืขืก ืืืึธืก ืืึธืื ืืืจืืืขืืื ืืขื ืืืจื ืึท ืกืคึผืขืฆืืคืืฉ ืืึทืืขืืึธืก: +1, +1, +1, ..., +1
. ืืื ืืืจ, ืืื ืคึผืจืื ืฆืืคึผ, ืืึธื ื ืื ืืึทืจืคึฟื ืืึธืก - ืืึธืก ืืื ืึทืืข ืืขืืืขื ืกืึทืืึทืงื ืืื ืืึผืจืื ืืืืฃ ืื ืงืึทืืขืงืืขืจ ืืื ืฉืืงื ืฆื ืื ืืึทืืึทืืืืก ืืื ืืืื ืืืื +10
.
ืืึธ, ืืื ืคืึทื ืคืื ืขืืืขืืข ืคืจืืืืขืืขื, ืืืื ืืึทืืืฉืืงืึทื ืึธืจื ืืืขืืงืืึทื ืงืขื "ืคืึทืื ืืึทืืื ืืขืจ", ืึธืืขืจ ืืึธืก ืืื ืึท ืึผืืขื ืึทื ืจืืืืกืืืง ืคืึทื - ืืืืึทื ืืืจ ืืึธืื ืึท ื ืึธืจืืึทื ืกืขืจืืืขืจ, ืขืก ืืื ืึท ืืึทืืึทืจืืืข ืืื ืื ืงืึธื ืืจืึธืืืขืจ, ืืืจ ืืึธืื ืึท ืืจืึทื ืกืึทืงืืืึธื ืงืืึธืฅ, ืึท ืงืืึธืฅ ืืืืฃ ืื ืงืึทื ืืจืึธืืืขืจ. ืืขืงืข ืกืืกืืขื ... ืืื ืึทืืืขืืืื, ืขืก ืืื ื ืืฉื ืืืขืจื ืขืก. ืื ืึธื ืืืขืจ ืคืื ืคึผืจืึธืืืึทืงืืืืืืื ืืืจ ืืึทืงืืืขื ืคืื ืคืืืกื ืืืง ืืจืืืขืจื / FK ืืื ื ืืฉื ืืืขืจื ืื ืงืึธืกื ืืืจ ืื ืงืขืจ.
ืขืก ืืื ืื ืืขืืืข ืืื ืืึทืฉืื ื. ื ืืขืืืืกืข ืืงืฉื ืคืืื ืฆื ืืืจ, ืืขื ืจืขืืขื ื ืืขืจืคืื ื ืืขืืืืกืข ืืืืขื ืืืคืืฆืืจ ืืื ืื ืืึทืืึทืืืืก, ืฉืจืืืื ืขืก ืฆื ืื ืืึทืืึทืืืืก ืืื ืืขืจืฆืืืื ืขืก ืืื ืคืืจ ืืขืื. ืึทืืฅ ืืื ืืื ืืื ืืื ืืขืจ ืฆืืื ืคืื ืจืขืงืึธืจืืื ื ืงืืื ืฆื ืืืจ ืึท ืฆืืืืืืขืจ ืืขื ืืฉ ืืืึธืก ืืืื ืจืขืงืึธืจืืืจื ืื ืืขืืืข ืืึทื - ืืื ืืืจ ืืืขืจื ืืืึทืงื, ืืื ืืึธืก ืืื ืฉืืื ืฉืืขืื. ืืขืจืืืขืจ, ืืืื ืืืจ ืงืขื ืขื ืึทืจืืืขืจืคืืจื ืื ืืืจ ืคืื ืขืืืขืืข ืืืก ืฆื ืืขื ืงืืืขื ื (ืงืึธืจืขืื ืฆื ืื ืืึทืืึทืืึทืกืข), ืขืก ืืื ืืขืกืขืจ ืฆื ืืึธื ืืึธืก.
ืขืก ืืื ืคึผืื ืงื ืืื ืฅ ืคึฟืึทืจ ืืื ืื ืฆื ื ืืฆื MD5 ืคืื ืื ืืขืงืกื - ืืขืื, ืคึผืืึทื, ืืืกืืขืจ, ... ืืืจ ืจืขืืขื ืขื ืขืก ืืืืฃ ืื ืงืึทืืขืงืืขืจ ืืืึทื, ืืื "ืืืกื" ืื ืคืึทืจืืืง ID ืืื ืื ืืึทืืึทืืืืก. ืื ืืขื ื ืคืื MD5 ืืื ืืขืืืขื ืคึผืึทืจืืืฉืึทื ืื ื ืืึธืื ืืื ืื ื ืืฉื ืืึธืจื ืืืขืื ืืขืืืขื ืงืึทืืืืฉืึทื ื.
ืืืขืจ ืืื ืกืืจ ืฆื ืจืขืงืึธืจืืืจื ืึทืืข ืืขื ืืขืฉืืืื ื, ืืืจ ืืืจืฃ ืฆื ืืึธืืืคืืฆืืจื ืื ืจืขืงืึธืจืืื ื ืคึผืจืึธืฆืขืืืจ ืืื.
ืืื ืืึธื ืืืจ ืืืืฉืึทืืืึทืื ืฉืจืืึทืื ืืึทืื? ืืืจ ืืึธืื ืึท ืืื ืคืื ืืึทืืึทืืึทืก, ืืืจ ืฉืคึผืึทืืื ืขืก ืืื ืขืืืขืืข ืืืฉื, ืืื ืืขืืึธืื ืงืึธืคึผื ืขืก - ืขืจืฉืืขืจ ืืื ืืขืจ ืขืจืฉืืขืจ, ืืขืืึธืื ืืื ืื ืจืืข, ืืื ืื ืืจืื ... ืขืก ืืื ืืืืึทืงืืืขื, ืืืืึทื ืืืจ ืืืกืงืืืขื ืฆื ืฉืจืืึทืื ืืืื ืืึทืื ืืืึทื ืืื ืืจืื ืกืืขืคึผืก ืกืึทืงืืืขื ืืฉืึทืื. ืืืืืืงืืืขื. ืงืขื ืขื ืขืก ืืืื ืืขืืื ืคืึทืกืืขืจ? ืงืขื ืขื!
ืฆื ืืึธื ืืึธืก, ืขืก ืืื ืืขื ืื ื ืึธืจ ืฆื ืฆืขืืืืื ืื ืคืืึธืื ืืื ืคึผืึทืจืึทืืขื ืืื ืืขืืขืจ ืื ืืขืจืขืจ. ืขืก ืืืจื ืก ืืืืก ืึทื ืืืจ ืืึธืื ืขืจืจืึธืจืก, ืจืืงืืืขืก, ืืขืืคึผืืึทืืขืก, ืืืึทืงืื ื, ... ืคืืืขื ืืืง ืืื ืืึทืืื ืืขืจ ืคึฟืขืืขื - ืืื ืืืจ ืฉืจืืึทืื ืขืก ืึทืืข ืืื ืคึผืึทืจืึทืืขื. ืืขื ืื ืคึฟืึทืจ ืืขื ืืึทืืื ืึท ืงืึธืคึผื ืงืึทื ืึทื ืงืขืกืืืืขืจ ืึธืคื ืคึฟืึทืจ ืืขืืขืจ ืืืื ืฆืื ืืืฉ.
ืืึธืก ืืฒืกื, ืืฒึทื ืืึทืืืขืจ ืขืก ืืื ืฉืืขื ืืืง ืึท ืืืึทื, ืืื ืืืึธืก ืืื ืงืขื ืขื ืฉืจืืึทืื ืื ืืึทืื ืืื ืืึทืจืคึฟื. ืึธืืขืจ ืึทืืื ืึทื ืื ืืึทืืึทืืืืก ืืขื ืื ืืึทืื, ืืื ืขืืขืฆืขืจ ืงืขื ื ืืฉื ืืืื ืกืืึทืง ืืื ืืืืจืื ืคึฟืึทืจ ืื ืืึทืื ืฆื ืืืื ืืขืฉืจืืื, COPY ืืืื ืืืื ืื ืืขืจืึทืคึผืืื ืืื ืืืืขืจ ืื ืืขืจืืืึทืื. ืคึฟืึทืจ ืืื ืื, ืื ืืขืจืกื ืขืคืขืงืืืื ืฆืืื ืืื ืืขืืืขื ืืืขืื 100ms - ืืืจ ืคืึทืจืืึทืื ืขืก ืืื ืืื ืขืคึฟืขื ืขื ืขืก ืืืืืขืจ ืฆื ืืขืจ ืืขืืืืงืขืจ ืืืฉ. ืืื ืืืื ืืืจ ืืึธื ื ืื ืืึธืื ืืขื ืื ืคืื ืืืื ืืืืคื ืืขืฉืึทืก ืขืืืขืืข ืคึผืืงืก, ืืืจ ืืึธื ืคึผืึธืึธืืื ื ืึทืจืืืฃ ืฆื ืึท ืืืืขืจ ืฉืืขืืจ.
ืืื ืืขืจืฆื, ืืืจ ืืขืคืื ืขื ืึทื ืคึฟืึทืจ ืึทืืึท ืึท ืืึทืกืข ืคึผืจืึธืคืื, ืงืืื ืึทืืืจืขืืึทืืืึธื, ืืืขื ืจืขืงืึธืจืืก ืืขื ืขื ืืขืืืืื ืืื ืืึทืืฉืึทื, ืืื ืืืื. ืงืืึทืกืืฉ ืืืื ืืื INSERT ... VALUES
ืืื ื ืึธื 1000 ืจืขืงืึธืจืืก. ืืืืึทื ืืื ืืขื ืคืื ื ืืืจ ืืึธืื ืึท ืฉืจืืึทืื ืฉืคึผืืฅ ืืืืฃ ืื ืืืืืึท, ืืื ืึทืืขืืขื ืึทื ืืขืจืฉ ืืจืืื ื ืฆื ืฉืจืืึทืื ืขืคึผืขืก ืฆื ืื ืืืกืง ืืืขื ืืืื ืืืืจืื.
ืฆื ืืึทืงืืืขื ืืึทืคืจืืึทืขื ืคืื ืึทืืึท ืึทื ืึทืืึทืืื, ืคืฉืื ืืึธื ื ืื ืึทืืืจืขืืืจื ืขืคึผืขืก, ืืึทืคืขืจ ืืึธืจ ื ืื. ืืื ืืืื ืืึทืคืขืจืื ื ืฆื ืืืกืง ืืื ืืขืฉืขื (ืฆืื ืืืืง, ืื Stream API ืืื Node.js ืึทืืึทืื ืืืจ ืฆื ืืขืคึฟืื ืขื ืขืก) - ืึธืคึผืืืืื ืืขื ืงืฉืจ. ืืืขื ืืืจ ืืึทืงืืืขื ืึท ืืขืฉืขืขื ืืฉ ืึทื ืขืก ืืื ืคืจืื ืืืืืขืจ, ืฉืจืืึทืื ืฆื ืืื ืคึฟืื ืื ืึทืงืืืืืึทืืืืืื ืจืื. ืืื ืืฉืขืช ืขืก ืืื ืคืึทืจื ืืืขื, ื ืขืืขื ืื ืืืืึทืืขืจ ืคืจืื ืคืื ืื ืืขืงื ืืื ืฉืจืืึทืื ืฆื ืืื.
ืืืืืขืจ ืื ืืจืึธืืืืกืื ื ืืขื ืฆืืืึทื ื ืฆื ืืึทืื ืจืขืงืึธืจืืื ื, ืืืจ ืืึธืื ืืขืขืจืขื 4K ืฉืจืืึทืื ืึธืคึผืก, ืืื ืืื ืืขื ืืืขื ืืืจ ืจืืืืกื ืื ืืึทืกืข ืืื 4 ืืื. ืืืฆื ืืื ืืึธืื ืืขืืืืงืกื ื ืึธื 6 ืืื ืจืขืื ืฆื ื ืืึทืข ืืึธื ืืืึธืจืขื ืืึทืืึทืืืืกืื - ืึทืจืืืฃ ืฆื 100 ืื / s. ืืื ืืืฆื ืืืจ ืงืจืึธื ืืึธืืก ืคึฟืึทืจ ืื ืืขืฆืืข 3 ืืืฉืื ืืื ืึท ืืึทื ื ืคืื ืืืขืื 10-15 ืื, ืืึธืืคึผืื ื ืึทื ืืื ืืืืื ืืจืื ืืืฉืื ืืขืืขืจ ืืขืืืขืืึธืคึผืขืจ ืืืขื ืงืขื ืขื ืฆื ืกืึธืืืืข ืงืืื ืคึผืจืึธืืืขื.
ืืืจ ืคึฟืึทืจืฉืืืื ืื ืคืจืืืืขืืขื
ืืืขืจ ืคืฉืื ืงืึทืืขืงืืื ื ืึทืืข ืื ืืึทืื ืืื ืืื, ื ืืฆืืง, ืืึทืืืึทืืืง, ืึธืืขืจ ื ืืฉื ืืขื ืื - ืขืก ืืึทืจืฃ ืฆื ืืืื ืคืืจืฉืืื ืขื. ืืืืึทื ืืึธืก ืืขื ืขื ืืืืืึทื ื ืคืื ืคืึทืจืฉืืืขื ืข ืคึผืืึทื ื ืคึผืขืจ ืืึธื.
ืืืขืจ ืืืืืึทื ื ืืขื ืขื ืึทื ืืึทื ืืืืฉืึทืืึทื, ืืืจ ืืืื ืขืจืฉืืขืจ ืืึธื "ืงืืขื ืขืจื". ืืื, ืขืจืฉืืขืจ ืคืื ืึทืืข, ืืืจ ืืึทืจืคึฟื ืฆื ืืึทืฉืืืกื ืืื ืืืจ ืืืขื ืึธืจืืึทื ืืืืจื ืืขื "ืงืืขื ืขืจืข" ืืึทื.
ืืืจ ืืึธืื ืืืืขื ืึทืคืืื ืืจืืึท ืืืืคึผื ืคืื ืงืื:
- ืืืขืจ ืืขืฉืืงื ืืขื ืืงืฉื
ืืึธืก ืืื, ืคึฟืื ืืืึธืก ืึทืคึผืืึทืงืืืฉืึทื ืืื "ืึธื ืงืืืขื": ืืืขื ืฆืืืื ื, ืืึทืงืขื ื, ืฆืึธืืื ื ืกืืกืืขื ืึธืืขืจ ืขืคึผืขืก ืึทื ืืขืจืฉ. - ืืื ืขืก ืืื ืืขืฉืขื
ืืืืฃ ืืืึธืก ืกืคึผืขืฆืืคืืฉ ืกืขืจืืืขืจ? ืืืืึทื ืืืื ืืืจ ืืึธืื ืขืืืขืืข ืกืขืจืืืขืจืก ืืื ืืขืจ ืืืื ืึทืคึผืืึทืงืืืฉืึทื, ืืื ืคึผืืืฆืืื ื ืืืื ืขืจ "ืืืื ื ืึทืจืืฉ" (ืืืืึทื ืืขืจ "ืืืกืง ืืื ืคึผืึทืกืงืืื ืข", "ืืืงืึธืจื ืืืงื", ืขืืืขืืข ืื ืืขืจืข ืคึผืจืึธืืืขื), ืืืจ ืืึทืจืคึฟื ืฆื ืึทืืจืขืก ืืขื ืกืขืจืืืขืจ ืกืคึผืึทืกืืคืืงืื. - ืืื ืื ืคึผืจืึธืืืขื ืื ืืคืืขืงื ืืื ืืื ืืืื ืืืขื ืึธืืขืจ ืื ืืขืจื
ืฆื ืคึฟืึทืจืฉืืืื "ืืืขืจ" ืืึธื ืืื ืื ืืขืฉืืงื ืึท ืืงืฉื, ืืืจ ื ืืฆื ืึท ื ืึธืจืืึทื ืืขืฆืืึทื - ืืึทืฉืืขืืืงื ืึท ืกืขืกืืข ืืืึทืืขืืืืืง: SET application_name = '{bl-host}:{bl-method}';
- ืืืจ ืฉืืงื ืื ื ืึธืืขื ืคืื ืื ืืขืฉืขืคื ืืึธืืืง ืืึทืืขืืึธืก ืคืื ืืืึธืก ืื ืืงืฉื ืงืืื, ืืื ืื ื ืึธืืขื ืคืื ืืขื ืืืคึฟื ืึธืืขืจ ืึทืคึผืืึทืงืืืฉืึทื ืึทื ืื ืืฉืืืืืื ืขืก.
ื ืึธื ืืืจ ืืึธืื ืืืจืืืขืืื ืืขื ืื "ืืึทืืืฆืขืจ" ืคืื ืื ืืขืื, ืขืก ืืืื ืืืื ืจืขืืืืืึทื ืฆื ืื ืงืืึธืฅ - ืคึฟืึทืจ ืืขื ืืืจ ืงืึทื ืคืืืืขืจ ืื ืืืึทืืขืืืืืง log_line_prefix = ' %m [%p:%v] [%d] %r %a'
. ืคึฟืึทืจ ืื ืืื ืืขืจืขืกืืจื, ืืคึฟืฉืจ
- ืฆืืึทื
- ืคึผืจืึธืฆืขืก ืืื ืืจืึทื ืกืึทืงืืืึธื ืืืขื ืืืคืืขืจืก
- ืืืืืึทืืืืก ื ืึธืืขื
- IP ืคืื ืืขืจ ืืขื ืืฉ ืืืืก ืืขืฉืืงื ืืขื ืืงืฉื
- ืืื ืืืคึฟื ื ืึธืืขื
ืืขืจื ืึธื ืืืจ ืืืื ืืขืืขื ืึทื ืขืก ืืื ื ืืฉื ืืืืขืจ ืืฉืืงืึทืืืข ืฆื ืงืืงื ืืื ืื ืงืึธืจืึทืืืืฉืึทื ืคึฟืึทืจ ืืืื ืืงืฉื ืฆืืืืฉื ืคืึทืจืฉืืืขื ืข ืกืขืจืืืขืจืก. ืขืก ืืื ื ืืฉื ืึธืคื ืึทื ืืืจ ืืึธืื ืึท ืกืืืืึทืฆืืข ืืื ืืืื ืึทืคึผืืึทืงืืืฉืึทื ืกืงืจืื ืึทืจืืืฃ ืืืืึทื ืืึธ ืืื ืืึธืจื. ืึธืืขืจ ืืคืืื ืืืื ืืึธืก ืืื ืื ืืขืืืข, ืงืืง ืืื ืงืืื ืคืื ืื ืกืขืจืืืขืจืก.
ืึทืืื ืืึธ ืก ืื ืฉื ืืึทืื "ืืืื ืกืขืจืืืขืจ - ืืืื ืืึธื" ืขืก ืืื ืืขืืืขื ืืขื ืื ืคึฟืึทืจ ืืื ืื ืคึฟืึทืจ ืงืืื ืึทื ืึทืืืกืืก.
ืืขืจ ืขืจืฉืืขืจ ืึทื ืึทืืืกืืก ืึธืคึผืืืืืื ื ืืื ืื ืืขืืืข "ืืืกืืขืจ" - ืึท ืึทืืจืืืืืืืืื ืคืึธืจืขื ืคืื ืคึผืจืขืืขื ืืืจืื ื ืคืื ืืขื ืคึผืืึทื, ืงืืืจื ืคืื ืึทืืข ื ืืืขืจืืงืึทื ืื ืืึทืงืืืืขืจื. ืื ืจืืข ืืืจืืฉื ืื ืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืึธืืขืจ ืืืคึฟื, ืืื ืื ืืจืื ืฉื ืืึทืื ืืื ืื ืกืคึผืขืฆืืคืืฉ ืคึผืืึทื ื ืึธืืข ืืืึธืก ืืขืคึฟืืจื ืืื ืื ืคึผืจืึธืืืขืืก.
ืืืขื ืืืจ ืืจืืืขืจืืขืคืืจื ืคืื ืกืคึผืขืฆืืคืืฉ ืื ืกืืึทื ืกืื ืฆื ืืขืืคึผืืึทืืขืก, ืืืจ ืืึธืื ืฆืืืื ืึทืืืืึทื ืืืืืฉืื ืืื ืึทืืึธื:
- ืงืืืคื ืจืขืืืงืฆืืข ืืื ืื ื ืืืขืจ ืคืื ืึทืืืืฉืขืงืฅ ืคึฟืึทืจ ืึทื ืึทืืืกืืก
ืืืจ ืืึธืื ืฆื ืึทื ืึทืืืื ืื ืคึผืจืึธืืืขื ื ืื ืืขืจ ืืืจื ืืืืื ืืขืจ ืคืื ืคึฟืจืืื ืึธืืขืจ ืคึผืืึทื ื, ืึธืืขืจ ืืืจื ืืึทืืึทื ื ืคืื ืืขืืคึผืืึทืืขืก. - ืืืืืืืื
ืึทื ืืื, ืืืจื ืกืึทืืขืจืืืืื ื ืื "ืคืืงืื" ืืื ืึท ืืืืขืจ ืึธืคึผืืืืืื ื, ืืืจ ืงืขื ืขื ืืืืึทืื ืืืืขืจ ืืืืกืืขื ืืขืฉืึทืก ืืขื ืืึธื. ืืื ืื ืงืขื ืืขื ืคืืจืฉืืืื ืื ืืืื ืืืกืื ืขืคืขืก ื ืืืกืืขืจ ืืืืก ืคืืกืืจื, ืืืฉื ืืืื ืืื ื ืฉืขื, ืืืขืจ ืขืก ืืื ืคืืกืืจื ืืืื ืืื ื ืืื, ืืืื โโืืืจ ืืจืืืื ืืืืก ืืื ืืขืืืขื ืืืืจืขืื - ืืืขืจ ืืื ืืืก ืืืจื ืืขืืืขื ืืื ืคืืจืืืืก, ืืคืฉืจ ืืื ืขืก ืืืื ืื ืืึธื ื ืืฉื. ืืึธืก ืืื ืื ืื ืืขืจ ื ืื-ื ืืืขืจืืงืึทื, ืจืืื ืืืืืฉืึทืืืึทื, ืึทื ืึทืืืกืืก ืืืคึฟื.
ืื ืจืืขื ืืขืืืึธืืก ืืขื ืขื ืืืืืจื ืืืืฃ ืื ืื ืืืงืึทืืึธืจืก ืืืึธืก ืืืจ ืขืงืกืืจืึทืงื ืคืื ืืขื ืคึผืืึทื: ืืื ืคืืืข ืืึธื ืึทืืึท ืึท ืืืกืืขืจ ืืื ืคืืจืืขืงืืืขื, ืื ืืึทื ืฅ ืืื ืืืจืืฉื ืืืืขื ืฆืืื, ืืื ืคืื ืืึทืื ืืื ืืขืืืขื ืืืืขื ืขื ืคืื ืื ืืืกืง ืืื ืืื ืคืื ืคืื ืืึผืจืื ...
ืืืืึทื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืงืืืขื ืฆื ืื ืึทื ืึทืืืืืงืก ืืืึทื ืคึฟืึทืจ ืืขืจ ืืึทืืขืืึธืก, ืงืืง - ืขืคึผืขืก ืืื ืกืืึทืจืืื ื ืฆื ืืืืขื ืขื ืฆื ืคืื ืืืืฃ ืื ืืืกืง. ืืขืจ ืืืกืง ืืืืฃ ืื ืกืขืจืืืขืจ ืงืขื ื ืืฉื ืฉืขืคึผื ืขืก - ืืืขืจ ืืืืขื ื ืคืื ืืื?
ืืื ืืืจ ืงืขื ืขื ืกืึธืจื ืืืจื ืงืืื ืืืึทื ืืื ืืึทืฉืืืกื ืืืึธืก ืืืจ ืืืขื ืืึทื ืืืขื ืืื ืจืขืื ืืืฆื - ืื ืืึทืกืข ืืืืฃ ืื ืคึผืจืึทืกืขืกืขืจ ืึธืืขืจ ืื ืืืกืง, ืึธืืขืจ ืื ืืึทื ืฅ ื ืืืขืจ ืคืื ืจืืงืืืขืก ... ืืืจ ืกืึธืจืืื ืขืก, ืืขืงืืงื ืืืืฃ ืื "ืฉืคึผืืฅ" ืึธื ืขืก, ืคืึทืจืคืขืกืืืงื ืขืก ืืื ืจืึธืืื ืึท ื ืืึทืข ืืืขืจืกืืข ืคืื โโโโืื ืึทืคึผืืึทืงืืืฉืึทื.
ืืื ืืืืื ืืืจ ืงืขื ืขื ืืขื ืคืึทืจืฉืืืขื ืข ืึทืคึผืืึทืงืืืฉืึทื ื ืืืึธืก ืงืืืขื ืืื ืืขืจ ืืขืืืืงืขืจ ืืืกืืขืจ ืคึฟืื ืึท ืืงืฉื ืืื SELECT * FROM users WHERE login = 'Vasya'
. ืคืจืึธื ืืขื ื, ืืึทืงืขื ื, ืคึผืจืึทืกืขืกืื ื... ืืื ืืืจ ืืืื ืืขืจ ืืืึธืก ืคึผืจืึทืกืขืกืื ื ืืืึธืื ืืืืขื ืขื ืืขื ืืึทื ืืฆืขืจ ืืืื ืขืจ ืืื ื ืืฉื ืื ืืขืจืึทืงื ืืื ืืื.
ืืขืจ ืคืึทืจืงืขืจื ืืืขื ืืื ืฆื ืืื ืืขื ืคืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืืึธืก ืขืก ืืื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื ืคืจืึธื ืืขื ื ืืื ืืึธืก, ืืึธืก, ืืึธืก, ืืื ืืึธืก ืึทืืึธื ืึท ืฉืขื (ืื ืืืืืืืื ืืขืืคึผืก). ืืื ืื ืงืฉืื ืืืืื ืขืจืืืืึทื: ืขืก ืืืื ื ืืื ืขืก ืืื ื ืืฉื ืื ืึทืจืืขื ืคืื ืื ืคืจืึธื ืืขื ื ืฆื ืืึธื ืขืคึผืขืก ืึทืืึธื ืึท ืฉืขื ...
ื ืึธื ืขืืืขืืข ืืึธื, ืืืจ ืืืื ืืขืืขื ืึทื ืืืจ ืคืขืื ืึทืืืจืขืืึทืืขื ืกืืึทืืืกืืืง ืืืจื ืคึผืืึทื ื ืึธืืื. ืืืจ ืืคืืขืืื ืืขืจื ืคืื ืื ืคึผืืึทื ื ืืืืื ืื ื ืึธืืื ืืืึธืก ืืึธื ืขืคึผืขืก ืืื ืื ืืึทืื ืคืื ืื ืืืฉื ืืื (ืืืืขื ืขื / ืฉืจืืึทืื ืืื ืืืจื ืืื ืืขืงืก ืึธืืขืจ ื ืืฉื). ืืื ืคืึทืงื, ืืืืื ืืืื ืึทืกืคึผืขืงื ืืื ืฆืืืขืืขืื ืงืึธืจืขืื ืฆื ืื ืคืจืืขืจืืืงืข ืืืื - ืืื ืคืืืข ืจืขืงืึธืจืืก ืืื ืืขื ื ืึธืืข ืืื ืื ืืขืืจืืื?, ืืื ืืื ืคืืืข ืืขื ืขื ืึทืืืขืงืืขื ืืืขื (ืจืึธืื ืึทืืืขืงืืขื ืืืขื ืืืจื ืคืืืืขืจ).
ืืืจ ืืึธื ื ืืฉื ืึท ืคึผืึทืกืืง ืืื ืืขืงืก ืืืืฃ ืื ืืขืืขืจ, ืืืจ ืืึทืื ืึท ืืงืฉื ืฆื ืืื, ืขืก ืคืืืขืก ืคึฟืึทืจ ืื ืืื ืืขืงืก, ืคืืื ืืื Seq Scan ... ืืืจ ืืึธื ืคืืืืขืจื ืึทืืข ืจืขืงืึธืจืืก ืึทืืืฅ ืืืื. ืคืืจืืืืก ืืึธื ืืืจ ืืึทืจืคึฟื 100 ื ืคืืืืขืจื ืจืขืงืึธืจืืก ืคึผืขืจ ืืึธื? ืืื ืขืก ื ืืฉื ืืขืกืขืจ ืฆื ืจืึธืืื ืึทืจืืืฃ ืื ืืื ืืขืงืก?
ื ืึธื ืึทื ืึทืืืืื ืึทืืข ืื ืคึผืืึทื ื ื ืึธืืข ืืืจื ื ืึธืืข, ืืืจ ืืืื ืืขืืขื ืึทื ืขืก ืืขื ืขื ืขืืืขืืข ืืืคึผืืฉ ืกืืจืึทืงืืฉืขืจื ืืื ืื ืคึผืืึทื ื ืืืึธืก ืืขื ืขื ืืืืขืจ ืืกืชึผืื ืฆื ืงืืงื ืกืึทืกืคึผืืฉืึทืก. ืืื ืขืก ืืืึธืื ืืืื ืคืืึทื ืฆื ืืึธืื ืื ืืขืืืขืืึธืคึผืขืจ: "ืคืจืืึทื ื, ืืึธ ืืืจ ืขืจืฉืืขืจ ืืืืขื ืขื ืืืจื ืืื ืืขืงืก, ืืขืืึธืื ืกืึธืจื, ืืื ืืขืืึธืื ืฉื ืืึทืื ืึทืืืขืง" - ืืื ืึท ืืขืจืฉื, ืขืก ืืื ืืืื ืจืขืงืึธืจื.
ืืขืืขืจ ืืืืก ืืื ืืขืฉืจืืื ืคืจืืืขืก ืืื ืืกืชืื ืืขืืจืืคืขื ืืขื ืืืกืืขืจ: "ืืื ืืืจ ืื ืืขืฆืืข ืืืคืขื ืคืืจ ืืืืกืื, ืืืื ืืืืื." ืืื ืืืื ืืืจ ืืื ื ืืฉื ืงืืื ืืื ืืขืงืก ืืืื ืืืืื, ืืืขืจ ืขืก ืืื ื ืืฉื ืื ืงืืื ืืืืื ืืื ืืขื ืืื ืืขืงืก ืืืืก ืืืจ ืืื ืืขื ืืฆื, ืืจืขืื ืืืืฃ ืคึผืื ืงื ืืขืจ ืืขืืืืงืขืจ "ืืจืึทืืืืข".
ืึธืืขืจ ืืืจ ืืืืกื ืึทื ืืึธืก ืืื ืึท "ืืจืึทืืืืข" - ืึทืืื ืืืึธืก ื ืื ืืืืื ืืึธืื ืื ืืขืืืขืืึธืคึผืขืจ ืืืึธืก ืขืจ ืืึธื ืืึธื. ืืขืจืืืขืจ, ืืืขื ืขืคื ืึท ืคึผืืึทื ืืืฆื, ืืื ืืืขืจ ืืขืืืขืืึธืคึผืขืจ ืืืืื ืืขื ืึท ืฉืืื ืืืื ืืื ืขืฆืืช, ืืื ืืื ืืื ืืึธืื ืืื: "ืืืจ ืืึธืื ืคึผืจืึธืืืขืืก ืืึธ ืืื ืืึธืจื, ืึธืืขืจ ืืื ืืขื ืขื ืกืึทืืืื ืึทืืื ืืื ืึทื ืืืขื."
ืืื ืึท ืจืขืืืืืึทื, ืื ืกืืืข ืคืื โโืืขืจืคืึทืจืื ื ืืืึธืก ืืื ืืืจืฃ ืฆื ืกืึธืืืืข ืคึผืจืึธืืืขืืก ืืื ืื ืึธื ืืืื ืืื ืืืฆื ืืื ืืืืืืืืง ืืจืึทืคึผื. ืืึธืก ืืื ืืขืจ ืืื ืคืื ืืืฉืืจืื ืืืึธืก ืืืจ ืืึธืื.
ืืงืืจ: www.habr.com