ΠΠΎΠΊΠ»Π°Π΄ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Ρ Π½ΡΠΊΠΎΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° SQL Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ° ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΎΡ ΡΡΡ Π½Π° Π΄Π΅Π½, ΠΈ ΠΈΠΌΠ° ΡΡΠΎΡΠΈΡΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π½ΠΈ PostgreSQL ΡΡΡΠ²ΡΡΠΈ.
ΠΠ°ΠΊΠ²ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ ΡΠ°ΠΊΡΠ² ΠΎΠ±Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ²Π° ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΆΠΈΠ²ΠΎΡΠ° Π½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
ΠΠΎΠΉΡΠΎ ΠΈΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ SQL Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠΏΠΈΡΠ½ΠΈ DBA Π·Π°Π΄Π°ΡΠΈ Π² PostgreSQL - ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ
ΠΠ°Π·Π²Π°ΠΌ ΡΠ΅ ΠΠΈΡΠΈΠ» ΠΠΎΡΠΎΠ²ΠΈΠΊΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΠΌ
ΠΠ½Π΅Ρ ΡΠ΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌΠ΅ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° βΠ²Π΄ΠΈΠ³Π°ΡΠ΅β ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π΅Π΄Π½Π° Π·Π°ΡΠ²ΠΊΠ°, Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠ°ΡΠΎΠ²ΠΎ. ΠΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ° ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ ΡΠΎΠ·ΠΈ Π³ΠΎΠ»ΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ "Π’Π΅Π½Π·ΠΎΡ" Π·Π° ΠΌΠΈΠ»ΠΈΠΎΠ½ Π½Π°ΡΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ Π΅
ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΠΈ Π΄Π° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ, Π½ΠΈΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ 10 ΡΠ°Π·Π²ΠΎΠΉΠ½ΠΈ ΡΠ΅Π½ΡΡΡΠ° Π² ΡΡΠ»Π°ΡΠ° ΡΡΡΠ°Π½Π°, ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΎΡΠ΅ 1000 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ.
ΠΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ PostgreSQL ΠΎΡ 2008 Π³. ΠΈ ΡΠΌΠ΅ Π½Π°ΡΡΡΠΏΠ°Π»ΠΈ Π³ΠΎΠ»ΡΠΌΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ - ΡΠΎΠ²Π° ΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ, ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈ, Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ, Π΄Π°Π½Π½ΠΈ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ - Π½Π°Π΄ 400TB. Π‘Π°ΠΌΠΎ "Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ" ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 250 ΡΡΡΠ²ΡΡΠ°, Π° ΠΎΠ±ΡΠΎ ΠΈΠΌΠ° ΠΎΠΊΠΎΠ»ΠΎ 1000 ΡΡΡΠ²ΡΡΠ° Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅.
SQL Π΅ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π΅Π½ Π΅Π·ΠΈΠΊ. ΠΠΈΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ Π½Π΅ βΠΊΠ°ΠΊβ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π½Π΅ΡΠΎ, Π° βΠΊΠ°ΠΊΠ²ΠΎβ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅. Π‘Π£ΠΠ Π·Π½Π°Π΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ JOIN - ΠΊΠ°ΠΊ Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ, ΠΊΠ°ΠΊΠ²ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π° Π½Π°Π»ΠΎΠΆΠΈΡΠ΅, ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΌΠΈΠ½Π°Π²Π° ΠΏΡΠ΅Π· ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΠΊΠ°ΠΊΠ²ΠΎ Π½Π΅...
ΠΡΠΊΠΎΠΈ Π‘Π£ΠΠ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ: βΠΠ΅, ΡΡΠ΅Π΄ΠΈΠ½Π΅ΡΠ΅ ΡΠ΅Π·ΠΈ Π΄Π²Π΅ ΡΠ°Π±Π»ΠΈΡΠΈ Π² ΡΠ°ΠΊΠ°Π²Π° ΠΈ ΡΠ°ΠΊΠ°Π²Π° ΠΎΠΏΠ°ΡΠΊΠ°β, Π½ΠΎ PostgreSQL Π½Π΅ Π·Π½Π°Π΅ ΠΊΠ°ΠΊ. Π’ΠΎΠ²Π° Π΅ ΡΡΠ·Π½Π°ΡΠ΅Π»Π½Π°ΡΠ° ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π° Π²ΠΎΠ΄Π΅ΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ: βΠΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΅ Π΄Π° Π·Π°Π²ΡΡΡΠΈΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½ΡΠΊΠ°ΠΊΠ²ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ.β
ΠΠΎ Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ PostgreSQL Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° "ΠΎΡΠ²ΡΠ½" Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°, ΡΠΎΠΉ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΠΈΠΆ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π° Π²ΡΡΡΠ΅ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΡΠΈ ΠΈ ΠΊΡΠ΄Π΅ ΠΈΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ, Ρ ΠΊΠ°ΠΊΠ²ΠΈ ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ΄Π²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ [ΠΊΡΠΌ DBA]? βΠ’ΡΠΊ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡ
ΠΌΠ΅ ΠΈΡΠΊΠ°Π½Π΅ΡΠΎ ΠΈ Π½ΠΈΠ΅ ΡΠΌΠ΅ Π±Π°Π²Π½ΠΈ, Π²ΡΠΈΡΠΊΠΎ Π²ΠΈΡΠΈ, Π½Π΅ΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° ... ΠΡΠΊΠ°ΠΊΠ²Π° Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡ!
ΠΡΠΈΡΠΈΠ½ΠΈΡΠ΅ ΠΏΠΎΡΡΠΈ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ° Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ:
- Π½Π΅Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ: βΠ‘Π΅Π³Π° ΠΈΠΌΠ°ΠΌ 10 ΡΠ°Π±Π»ΠΈΡΠΈ Π² SQL Π·Π° Π½Π΅Π³ΠΎ ΡΡΠ΅Π· JOIN ...β - ΠΈ ΠΎΡΠ°ΠΊΠ²Π°, ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡΡΠ° ΠΌΡ ΠΏΠΎ ΡΡΠ΄ΠΎ ΡΠ΅ ΡΠ΅ βΡΠ°Π·Π²ΡΡΠΆΠ°Ρβ ΠΈ ΡΠΎΠΉ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ Π²ΡΠΈΡΠΊΠΎ Π±ΡΡΠ·ΠΎ. ΠΠΎ ΡΡΠ΄Π΅ΡΠ° Π½Π΅ ΡΠ΅ ΡΠ»ΡΡΠ²Π°Ρ ΠΈ Π²ΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΡΠ°ΠΊΠ°Π²Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΎΡΡ (10 ΡΠ°Π±Π»ΠΈΡΠΈ Π² Π΅Π΄Π½Π° FROM) Π²ΠΈΠ½Π°Π³ΠΈ Π΄Π°Π²Π° Π½ΡΠΊΠ°ΠΊΠ²Π° Π³ΡΠ΅ΡΠΊΠ°. [ΡΡΠ°ΡΠΈΡ ] - ΠΎΡΡΠ°ΡΡΠ»Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°
ΠΠΎΠΌΠ΅Π½ΡΡΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π°ΠΊΡΡΠ°Π»Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° PostgreSQL, ΠΊΠΎΠ³Π°ΡΠΎ βΠΈΠ·ΡΠΈΠΏΠ΅ΡΠ΅β Π³ΠΎΠ»ΡΠΌ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π½Π° ΡΡΡΠ²ΡΡΠ°, Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠ° - ΠΈ ΡΠΎΠΉ Π²ΠΈ βΡΠΊΠ°Π½ΠΈΡΠ°β Π² ΡΠΈΠ½ΠΈΡΡΠ°. ΠΠ°ΡΠΎΡΠΎ Π²ΡΠ΅ΡΠ° ΡΡΠ΄ΡΡΠΆΠ°ΡΠ΅ 10 Π·Π°ΠΏΠΈΡΠ°, Π° Π΄Π½Π΅Ρ ΠΈΠΌΠ° 10 ΠΌΠΈΠ»ΠΈΠΎΠ½Π°, Π½ΠΎ PostgreSQL Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ Π½Π°ΡΡΠ½ΠΎ Ρ ΡΠΎΠ²Π° ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ΄ΠΊΠ°Π½Π΅Π½ Π·Π° ΡΠΎΠ²Π°. [ΡΡΠ°ΡΠΈΡ ] - βΠ²ΠΊΠ»ΡΡΠ²Π°Π½Π΅β Π½Π° ΡΠ΅ΡΡΡΡΠΈ
ΠΠΎΡΡΠ°Π²ΡΡΠ΅ Π³ΠΎΠ»ΡΠΌΠ° ΠΈ ΡΠ΅ΠΆΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π½Π° ΡΠ»Π°Π± ΡΡΡΠ²ΡΡ, ΠΊΠΎΠΉΡΠΎ Π½ΡΠΌΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄ΠΈΡΠΊ, ΠΏΠ°ΠΌΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ°ΠΌΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ. Π ΡΠΎΠ²Π° Π΅ Π²ΡΠΈΡΠΊΠΎ ... ΠΡΠΊΡΠ΄Π΅ ΠΈΠΌΠ° ΡΠ°Π²Π°Π½ Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ, Π½Π°Π΄ ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΊΠΎΡΠΈΡΠ΅. - Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅
Π’ΡΡΠ΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ, Π½ΠΎ ΡΠ΅ ΡΠ° Π½Π°ΠΉ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°ΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ (INSERT, UPDATE, DELETE) - ΡΠΎΠ²Π° Π΅ ΠΎΡΠ΄Π΅Π»Π½Π° Π³ΠΎΠ»ΡΠΌΠ° ΡΠ΅ΠΌΠ°.
ΠΠ·Π΅ΠΌΠ΅ΡΠ΅ ΠΏΠ»Π°Π½
β¦ Π Π·Π° Π²ΡΠΈΡΠΊΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΎ Π½ΠΈΠ΅ ΡΡΡΠ±Π²Π° ΠΏΠ»Π°Π½! Π’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π²Π° Π²ΡΡΡΠ΅ Π² ΡΡΡΠ²ΡΡΠ°.
ΠΠ»Π°Π½ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π·Π° PostgreSQL Π΅ Π΄ΡΡΠ²ΠΎ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅. Π’ΠΎΡΠ½ΠΎ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ, ΠΊΠΎΠΉΡΠΎ Π±Π΅ΡΠ΅ ΠΏΡΠΈΠ·Π½Π°Ρ Π·Π° Π½Π°ΠΉ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°Π½ΡΠ°.
ΠΡΠ΅ΠΊΠΈ Π²ΡΠ·Π΅Π» Π½Π° Π΄ΡΡΠ²ΠΎ Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ: ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠ°Π±Π»ΠΈΡΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ°ΡΡΠ΅ΡΠ½Π° ΠΊΠ°ΡΡΠ°, ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π΄Π²Π΅ ΡΠ°Π±Π»ΠΈΡΠΈ, ΡΠ²ΡΡΠ·Π²Π°Π½Π΅, ΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠΈ. ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π΅ ΡΠ°Π·Ρ ΠΎΠ΄ΠΊΠ° ΠΏΡΠ΅Π· Π²ΡΠ·Π»ΠΈΡΠ΅ Π½Π° ΡΠΎΠ²Π° Π΄ΡΡΠ²ΠΎ.
ΠΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΠ»Π°Π½Π° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, Π½Π°ΠΉ-Π»Π΅ΡΠ½ΠΈΡΡ Π½Π°ΡΠΈΠ½ Π΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° EXPLAIN
. ΠΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π°Π»Π½ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ, Ρ.Π΅. Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠ° Π½Π° Π±Π°Π·Π°ΡΠ° β EXPLAIN (ANALYZE, BUFFERS) SELECT ...
.
ΠΠΎΡΠ° ΡΠΎΡΠΊΠ°: ΠΊΠΎΠ³Π°ΡΠΎ Π³ΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅, ΡΠΎΠ²Π° ΡΠ΅ ΡΠ»ΡΡΠ²Π° "ΡΡΠΊ ΠΈ ΡΠ΅Π³Π°", ΡΠ°ΠΊΠ° ΡΠ΅ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ ΡΠ°ΠΌΠΎ Π·Π° Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. ΠΠΊΠΎ Π²Π·Π΅ΠΌΠ΅ΡΠ΅ Π½ΡΠΊΠΎΠΉ ΡΠΈΠ»Π½ΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ΅Π½ ΡΡΡΠ²ΡΡ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΠΎΠ΄ ΡΠΈΠ»Π΅Π½ ΠΏΠΎΡΠΎΠΊ ΠΎΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΈ Π²ΠΈΠ΄ΠΈΡΠ΅: βΠ₯Π΅ΠΉ! Π’ΡΠΊ Π±Π°Π²Π½ΠΎ ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡ ΠΌΠ΅Π‘Ρ ΠΈΡΠΊΠ°Π½Π΅." ΠΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ ΡΠ°Ρ, Π΅Π΄ΠΈΠ½ ΡΠ°Ρ - Π΄ΠΎΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ ΡΠ΅ ΡΠ°Π·ΠΈ Π·Π°ΡΠ²ΠΊΠ° ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΡΠ΅Π½Π°ΡΡΠΉΠΊΠΈ Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΡΡΠ²ΡΡΠ°, ΡΠ΅Π»ΠΈΡΡ Π²ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡ Π°. Π‘ΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π³ΠΎ Π·Π° ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ - ΠΈ ΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ Π±ΡΡΠ·ΠΎ! Π Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ "Π·Π°ΡΠΎ", Π·Π°ΡΠΎ Π±Π΅ΡΠ΅ Π±Π°Π²Π½ΠΎ.
ΠΠ° Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠΎΡΠ½ΠΎ Π΅ Π±ΠΈΠ»ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΏΠΈΡΠ°Ρ
Π° ΡΠΌΠ½ΠΈ Ρ
ΠΎΡΠ°
ΠΠΊΠΎ ΡΠΎΠΉ ΡΠ°Π·Π±Π΅ΡΠ΅, ΡΠ΅ Π΄Π°Π΄Π΅Π½Π° Π·Π°ΡΠ²ΠΊΠ° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΏΠΎ-Π΄ΡΠ»Π³ΠΎ ΠΎΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ΅ ΠΌΡ ΠΊΠ°Π·Π°Π»ΠΈ, ΡΠΎΠΉ Π³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ° "ΠΌΠΎΠΌΠ΅Π½ΡΠ½Π° ΡΠ½ΠΈΠΌΠΊΠ°" Π½Π° ΠΏΠ»Π°Π½Π° Π½Π° ΡΠ°Π·ΠΈ Π·Π°ΡΠ²ΠΊΠ° ΠΈ Π³ΠΈ Π·Π°ΠΏΠΈΡΠ²Π° Π·Π°Π΅Π΄Π½ΠΎ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°.
Π‘Π΅Π³Π° Π²ΡΠΈΡΠΊΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π°ΡΠ΅Π΄, ΠΎΡΠΈΠ²Π°ΠΌΠ΅ Π΄ΠΎ Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΠ°ΠΌ ... [ΠΊΡΡΠΏΠ° Π·Π° ΠΊΡΠ°ΠΊΠ° ΠΎΡ ΡΠ΅ΠΊΡΡ]. ΠΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ Π½ΠΈΡΠΎ Π·Π° Π½Π΅Π³ΠΎ, ΠΎΡΠ²Π΅Π½ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠΎΠ²Π° Π΅ ΠΎΡΠ»ΠΈΡΠ΅Π½ ΠΏΠ»Π°Π½, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΌΡ ΠΎΡΠ½Π΅ 11 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
ΠΡΠΈΡΠΊΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π°ΡΠ΅Π΄ - Π½ΠΎ Π½ΠΈΡΠΎ Π½Π΅ Π΅ ΡΡΠ½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΡΠ΅ Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎ. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΎΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π΅ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ Π½ΠΈΡΠΎ ΠΎΡΠΎΠ±Π΅Π½ΠΎ. ΠΠ°ΡΠΎΡΠΎ Π³Π»Π΅Π΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΊΡΠ² "Π½Π°Ρ Π°Π»Π½ΠΈΠΊ" Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΡΠ΅ΠΊΡΡ Π΅ ΠΎΠ±ΡΠΎ Π²Π·Π΅ΡΠΎ ΠΎΡΠ°ΡΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ.
ΠΠΎ Π΄ΠΎΡΠΈ ΠΈ Π΄Π° Π½Π΅ Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π΄ΠΎΡΠΈ ΠΈ Π΄Π° Π΅ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΈΠΌΠ° ΠΏΠΎ-ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ:
- ΠΡΠ·Π΅Π»ΡΡ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠΌΠ° Π·Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° ΡΡΠ»ΠΎΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠ²ΠΎ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ. Π’ΠΎΠ΅ΡΡ, ΠΏΡΠΎΡΡΠΎ Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π΅ ΠΏΡΠ΅ΠΊΠ°ΡΠ°Π½ΠΎ ΡΡΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π² ΡΠΎΠ²Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ° - Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΅, Π°ΠΊΠΎ ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΠ²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ. Π’ΡΡΠ±Π²Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π΄Π°Π»ΠΈ ΠΈΠΌΠ° βΠ΄Π΅ΡΠ°β ΠΈ ΡΡΠ»ΠΎΠ²Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π²ΡΡΡΠ΅, CTE - ΠΈ Π΄Π° ΠΈΠ·Π²Π°Π΄ΠΈΠΌ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° βΠ² ΡΠΌΠ°β.
- ΠΡΠΎΡΠ°ΡΠ° ΡΠΎΡΠΊΠ°: Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ Π½Π° Π²ΡΠ·Π΅Π»Π°, Π΅ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ·Π΅Π»Π°. ΠΠΊΠΎ ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π» Π΅ Π±ΠΈΠ» ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠΈΠΊΡΠ» ΠΏΡΠ΅Π· Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°, ΡΠΎΠ³Π°Π²Π° ΠΏΠ»Π°Π½ΡΡ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π±ΡΠΎΡ Π½Π° ΡΠΈΠΊΠ»ΠΈΡΠ΅ - ΡΠΈΠΊΠ»ΠΈ Π½Π° ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π». ΠΠΎ ΡΠ°ΠΌΠΎΡΠΎ Π°ΡΠΎΠΌΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π²Π° ΡΡΡΠΎΡΠΎ Π² ΠΏΠ»Π°Π½Π°. Π’ΠΎΠ΅ΡΡ, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎ ΠΎΠ±ΡΠΎ Π΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π», ΡΡΡΠ±Π²Π° Π΄Π° ΡΠΌΠ½ΠΎΠΆΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΏΠΎ Π΄ΡΡΠ³ - ΠΎΡΠ½ΠΎΠ²ΠΎ βΠ² ΡΠΌΠ°β.
Π ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΠΉΡΠ΅ βΠΠΎΠΉ Π΅ Π½Π°ΠΉ-ΡΠ»Π°Π±ΠΎΡΠΎ Π·Π²Π΅Π½ΠΎ?β ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π΄ΠΎΡΠΈ ΡΠ°ΠΌΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π² "ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ" ΠΏΠΈΡΠ°Ρ ΡΠΎΠ²Π° βΠ Π°Π·Π±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ»Π°Π½Π° Π΅ ΠΈΠ·ΠΊΡΡΡΠ²ΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΡΡΠΈ, ΠΎΠΏΠΈΡ...β.
ΠΠΎ Π½ΠΈΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ 1000 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΠΈ ΡΠΎΠ·ΠΈ ΠΎΠΏΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΡΡΡ . ΠΠ·, ΡΠΈ, ΡΠΎΠΉ - ΡΠ΅ Π·Π½Π°ΡΡ, Π½ΠΎ Π½ΡΠΊΠΎΠΉ ΡΠ°ΠΌ - Π²Π΅ΡΠ΅ Π½Π΅. ΠΠΎΠΆΠ΅ Π±ΠΈ ΡΠ΅ ΡΠ΅ Π½Π°ΡΡΠΈ, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅, Π½ΠΎ ΡΠ΅Π³Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ - ΠΈ ΠΎΡΠΊΡΠ΄Π΅ ΡΠ΅ Π²Π·Π΅ΠΌΠ΅ ΡΠΎΠ·ΠΈ ΠΎΠΏΠΈΡ.
ΠΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΠ»Π°Π½Π°
ΠΠ°ΡΠΎΠ²Π° ΡΠ°Π·Π±ΡΠ°Ρ
ΠΌΠ΅, ΡΠ΅ Π·Π° Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΠΌ Ρ ΡΠ΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΡΡΡΠ±Π²Π° Π΄ΠΎΠ±ΡΠ° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΠ»Π°Π½Π°.
ΠΡΡΠ²ΠΎ ΠΎΡΠΈΠ΄ΠΎΡ
ΠΌΠ΅ βΠ½Π° ΠΏΠ°Π·Π°ΡΠ°β - Π½Π΅ΠΊΠ° Π΄Π° ΠΏΠΎΡΡΡΡΠΈΠΌ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΠ±ΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°.
ΠΠΎ ΡΠ΅ ΠΎΠΊΠ°Π·Π°, ΡΠ΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»Π½ΠΎ βΠΆΠΈΠ²ΠΈβ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ - Π±ΡΠΊΠ²Π°Π»Π½ΠΎ Π΅Π΄Π½ΠΎ Π½Π΅ΡΠΎ:
- ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²ΡΠ·Π΅Π»
- ΠΎΠ±ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΡΠ»ΠΎΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠ²ΠΎ
- Π±ΡΠΎΡ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈ ΠΈ ΠΊΠΎΠΈΡΠΎ ΡΠ° Π±ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈ
- ΡΠ°ΠΌΠΎΡΠΎ ΡΡΠ»ΠΎ Π½Π° Π²ΡΠ·Π΅Π»Π°
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π° ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° Π°ΡΡ ΠΈΠ² ΠΎΡ Π²ΡΡΠ·ΠΊΠΈ. Π₯Π²ΡΡΠ»ΠΈΡ ΡΠ΅ ΠΏΠ»Π°Π½Π° ΡΠΈ ΡΠ°ΠΌ ΠΈ ΠΊΠ°Π·Π°Ρ ΡΠ΅: βΠ₯Π΅ΠΉ, ΠΠ°ΡΡ, Π΅ΡΠΎ Π»ΠΈΠ½ΠΊ Π·Π° ΡΠ΅Π±, Π½Π΅ΡΠΎ Π½Π΅ Π΅ Π½Π°ΡΠ΅Π΄β.
ΠΠΎ ΠΈΠΌΠ° ΠΈ ΠΌΠ°Π»ΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΡΡΠ²ΠΎ, ΠΎΠ³ΡΠΎΠΌΠ½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ "copy-paste". ΠΠ·ΠΈΠΌΠ°ΡΠ΅ ΠΏΠ°ΡΡΠ΅ ΠΎΡ Π΄ΡΠ½Π΅ΡΠ°, ΠΏΠΎΡΡΠ°Π²ΡΡΠ΅ Π³ΠΎ ΡΠ°ΠΌ ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ, ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ.
ΠΠ° Π²ΡΠΎΡΠΎ ΠΌΡΡΡΠΎ, Π½ΡΠΌΠ° Π°Π½Π°Π»ΠΈΠ· Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ - ΡΡΡΠΈΡΠ΅ Π±ΡΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ EXPLAIN (ANALYZE, BUFFERS)
, Π½Π΅ Π³ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡΠΊ. Π’ΠΎΠΉ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π·Π½Π°Π΅ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΈ ΡΠ°Π·Π³Π»ΠΎΠ±ΡΠ²Π°, ΡΠ°Π·Π±ΠΈΡΠ° ΠΈ ΡΠ°Π±ΠΎΡΠΈ Ρ ΡΡΡ
. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ΡΠ΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΎΡΡΠ·Π½Π°Π²Π°ΡΠ΅, ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΡΠ°Π·Π»Π°Π³Π°ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π² Π΄ΠΈΡΠΊΠ° ΠΈ ΠΊΠ΅ΡΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½Π°.
Π’ΡΠ΅ΡΠΈΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»Π°Π±ΠΎΡΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΎΠΌΠΈΡΠΈΡΠ΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΈ, Π΄ΠΎΠ±ΡΠ΅ Π΅ Π²Π΅Π΄Π½ΡΠΆ Π½Π° ΡΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΡΠ° ΠΈ ΠΊΠΎΠ΄ΡΡ Π΅ Π½Π° Perl.
ΠΠΎ ΡΠΎΠ²Π° ΡΠ° Π²ΡΠΈΡΠΊΠΈ βΠ»ΠΈΡΠΈΠΊΠΈβ, ΡΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅ Π½ΡΠΊΠ°ΠΊ ΡΠΈ Π΄Π° ΠΆΠΈΠ²Π΅Π΅ Ρ ΡΠΎΠ²Π°, Π½ΠΎ ΠΈΠΌΠ° Π΅Π΄Π½ΠΎ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½ΠΈ ΠΎΡΠΊΠ°Π·Π° ΠΎΡ ΡΠ°Π·ΠΈ ΡΡΠ»ΡΠ³Π°. Π’ΠΎΠ²Π° ΡΠ° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Common Table Expression (CTE) ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ ΠΊΠ°ΡΠΎ InitPlan/SubPlan.
ΠΠΊΠΎ Π²ΡΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΡΠ½ΠΈΠΌΠΊΠ°, ΡΠΎΠ³Π°Π²Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΎΠ±ΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ Π²ΡΠ·Π΅Π» ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΎΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π° ΡΡΠ»Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°. ΠΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ - Π½Π΅ Π΅ ΠΈΠ·Π²Π°Π΄ΠΈΠ» Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ CTE ΠΎΡ Π²ΡΠ·Π΅Π»Π° Π·Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° CTE. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π²Π΅ΡΠ΅ Π½Π΅ Π·Π½Π°Π΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡ, ΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΎΡΠ½Π΅ ΡΠ°ΠΌΠΎΡΠΎ CTE ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅.
Π’ΠΎΠ³Π°Π²Π° ΡΠ°Π·Π±ΡΠ°Ρ
ΠΌΠ΅, ΡΠ΅ Π΅ Π²ΡΠ΅ΠΌΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½Π°ΡΠΈΡΠ΅ - ΡΡΠ°! ΠΡΠ΅ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ°Π·Π²Π°: βΠ‘Π΅Π³Π° ΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½Π°ΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ, ΡΠ΅ Π±ΡΠ΄Π΅ ΡΡΠΏΠ΅Ρ Π»Π΅ΡΠ½ΠΎ!β
ΠΠ·Π΅Ρ ΠΌΠ΅ ΡΠΈΠΏΠΈΡΠ΅Π½ ΡΡΠ΅ΠΊ Π·Π° ΡΠ΅Π± ΡΡΠ»ΡΠ³ΠΈ: ΡΠ΄ΡΠΎΡΠΎ Π½Π° Node.js + Express, ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΎ ΠΎΡ Bootstrap ΠΈ D3.js Π·Π° ΠΊΡΠ°ΡΠΈΠ²ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ. Π Π½Π°ΡΠΈΡΠ΅ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡ ΡΠ΅ ΠΎΠΏΡΠ°Π²Π΄Π°Ρ Π° Π½Π°ΠΏΡΠ»Π½ΠΎ - ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΠΏΡΡΠ²ΠΈΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏ ΡΠ»Π΅Π΄ 2 ΡΠ΅Π΄ΠΌΠΈΡΠΈ:
- Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ Π½Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅
Π’ΠΎΠ΅ΡΡ, ΡΠ΅Π³Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΏΠ»Π°Π½ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ ΠΎΡ ΡΠ΅Π·ΠΈ, Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½ΠΈ ΠΎΡ PostgreSQL. - ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ Π²ΡΠ·Π»ΠΈ β CTE ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅, InitPlan, SubPlan
- Π°Π½Π°Π»ΠΈΠ· Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±ΡΡΠ΅ΡΠΈΡΠ΅ - ΠΊΡΠ΄Π΅ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Ρ Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΡΠ΄Π΅ ΠΎΡ Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ ΠΊΠ΅Ρ, ΠΊΡΠ΄Π΅ ΠΎΡ Π΄ΠΈΡΠΊΠ°
- ΠΏΠΎΠ»ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ
ΠΠ° Π΄Π° Π½Π΅ βΡΠΎΠ²ΠΈΡΠ΅β Π²ΡΠΈΡΠΊΠΎ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°, Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ βΠ½Π°ΠΉ-ΡΠ»Π°Π±ΠΎΡΠΎ Π·Π²Π΅Π½ΠΎβ Π²Π΅Π΄Π½Π°Π³Π° Π½Π° ΡΠ½ΠΈΠΌΠΊΠ°ΡΠ°.
ΠΠΎΠ»ΡΡΠΈΡ
ΠΌΠ΅ Π½Π΅ΡΠΎ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΈ ΠΊΠ°ΡΡΠΈΠ½Π° - Π²Π΅Π΄Π½Π°Π³Π° Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°. ΠΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π°ΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΡΡ Ρ ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠ»Π°Π½Π°, Π° Ρ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΠΏΠΎ-ΠΊΡΠ°ΡΠΊΠΎ. Π ΠΊΡΠ°Ρ Π½Π° ΠΊΡΠ°ΠΈΡΠ°ΡΠ° Π²Π΅ΡΠ΅ ΡΠΌΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π»ΠΈ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΡΠ»Π° ΠΈ ΡΠΌΠ΅ Π³ΠΈ Ρ
Π²ΡΡΠ»ΠΈΠ»ΠΈ Π½Π°Π»ΡΠ²ΠΎ ΠΈ Π½Π°Π΄ΡΡΠ½ΠΎ ΠΈ ΠΎΡΡΠ°Π²ΠΈΡ
ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΠΏΡΡΠ²ΠΈΡ ΡΠ΅Π΄ Π² ΡΡΠ΅Π΄Π°ΡΠ°, ΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ Π²ΡΠ·Π΅Π» Π΅: CTE Scan, CTE Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ Seq Scan ΡΠΏΠΎΡΠ΅Π΄ Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΠ°Π±Π΅Π»Π°.
Π’ΠΎΠ²Π° Π΅ ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΡΠΈΡΠ°ΠΌΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Π½Π° ΠΏΠ»Π°Π½.
ΠΠ°ΠΊΠ²ΠΎ Π΄ΡΡΠ³ΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ? ΠΠΈ Π±ΠΈΠ»ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ ΠΊΠΎΠΉ Π΄ΡΠ» ΠΎΡ ΠΎΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΊΡΠΌ ΠΊΠΎΠΉ Π²ΡΠ·Π΅Π» - ΠΈ Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎ Π³ΠΎ βΠ·Π°Π»Π΅ΠΏΠΈΡ
ΠΌΠ΅β ΠΎΡΡΡΡΠ°Π½ΠΈ ΠΊΡΡΠ³ΠΎΠ²Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°.
ΠΠΎΡΠΎΡΠ²Π°ΠΌΠ΅ Π²ΡΠ·Π΅Π»Π° ΠΈ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ - ΠΎΠΊΠ°Π·Π²Π° ΡΠ΅, ΡΠ΅ Seq Scan Π΅ ΠΎΡΠ½Π΅Π»ΠΎ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡ Π΅Π΄Π½Π° ΡΠ΅ΡΠ²ΡΡΡ ΠΎΡ ΠΎΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ 3/4 ΡΠ° Π²Π·Π΅ΡΠΈ ΠΎΡ CTE Scan. Π£ΠΆΠ°Ρ! Π’ΠΎΠ²Π° Π΅ ΠΌΠ°Π»ΠΊΠ° Π·Π°Π±Π΅Π»Π΅ΠΆΠΊΠ° ΠΎΡΠ½ΠΎΡΠ½ΠΎ "ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΠΆΠ°Ρ" Π½Π° CTE Scan, Π°ΠΊΠΎ Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π² Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΡΠΈ. Π’Π΅ Π½Π΅ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΈ - Π³ΡΠ±ΡΡ Π΄ΠΎΡΠΈ ΠΏΡΠΈ ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΠ°.
ΠΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ°ΠΊΠΈΠ²Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΈ ΡΠ° ΠΏΠΎ-ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ, ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ, ΠΊΠΎΠ³Π°ΡΠΎ Π²Π΅Π΄Π½Π°Π³Π° ΠΏΠΎΡΠΎΡΠΈΠΌ ΡΠ΅Π³ΠΌΠ΅Π½Ρ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ Π½ΡΠΊΠΎΠΈ Seq Scan "ΠΈΠ·ΡΠ΄ΠΎΡ Π°" ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° Π²ΡΠ΅ΠΌΠ΅. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² ΡΠΈΠ»ΡΡΡ Π²ΡΡΡΠ΅, ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΈΡΠΈ Π±ΡΡ Π° ΠΈΠ·Ρ Π²ΡΡΠ»Π΅Π½ΠΈ Π²ΡΡΡ Ρ Π½Π΅Π³ΠΎ ... ΠΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π΄Π° Ρ Π²ΡΡΠ»ΠΈΡΠ΅ ΡΠ°Π·ΠΈ ΡΠ½ΠΈΠΌΠΊΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅: βΠΠ°ΡΡ, ΡΡΠΊ Π²ΡΠΈΡΠΊΠΎ Π΅ Π»ΠΎΡΠΎ! Π Π°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π³ΠΎ, Π²ΠΈΠΆΡΠ΅ - Π½Π΅ΡΠΎ Π½Π΅ Π΅ Π½Π°ΡΠ΅Π΄!
ΠΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ, Π±Π΅Π· "ΡΠ΅ΠΉΠΊΠ°" Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ.
ΠΡΡΠ²ΠΎΡΠΎ Π½Π΅ΡΠΎ, Π²ΡΡΡ Ρ ΠΊΠΎΠ΅ΡΠΎ βΡΡΡΠΏΠΈΡ Π°β, Π±Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΡ Π·Π°ΠΊΡΡΠ³Π»ΡΠ²Π°Π½Π΅ΡΠΎ. ΠΡΠ΅ΠΌΠ΅ΡΠΎ Π½Π° Π²ΡΠ·Π΅Π»Π° Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ Π²ΡΠ·Π΅Π» Π² ΠΏΠ»Π°Π½Π° Π΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎ Ρ ΡΠΎΡΠ½ΠΎΡΡ Π΄ΠΎ 1 Β΅s. Π ΠΊΠΎΠ³Π°ΡΠΎ Π±ΡΠΎΡΡ Π½Π° Π²ΡΠ·Π»ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΠΊΠ»ΠΈ Π½Π°Π΄Ρ Π²ΡΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1000 - ΡΠ»Π΅Π΄ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, PostgreSQL ΡΠ°Π·Π΄Π΅Π»ΠΈ βΠ΄ΠΎβ, ΡΠΎΠ³Π°Π²Π° ΠΏΡΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π°Π·Π°Π΄, ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΎΠ±ΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ βΠ½ΡΠΊΡΠ΄Π΅ ΠΌΠ΅ΠΆΠ΄Ρ 0.95ms ΠΈ 1.05msβ. ΠΠΎΠ³Π°ΡΠΎ Π±ΡΠΎΡΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π½Π΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄ΠΈ, Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ Π½ΠΈΡΠΎ, Π½ΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π²Π΅ΡΠ΅ Π΅ [ΠΌΠΈΠ»ΠΈ] ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΡΠ°Π·ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΠΊΠΎΠ³Π°ΡΠΎ βΡΠ°Π·ΠΏΡΡΡΠΊΠ²Π°ΡΠ΅β ΡΠ΅ΡΡΡΡΠΈ ΡΠΏΠΎΡΠ΅Π΄ Π²ΡΠ·Π»ΠΈΡΠ΅ Π½Π° ΠΏΠ»Π°Π½Π° βΠΊΠΎΠΉ ΠΊΠΎΠ»ΠΊΠΎ Π΅ ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ°Π» ΠΎΡ ΠΊΠΎΠ³ΠΎβ.
ΠΡΠΎΡΠ°ΡΠ° ΡΠΎΡΠΊΠ°, ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π°, Π΅ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ (ΡΠ΅Π·ΠΈ Π±ΡΡΠ΅ΡΠΈ) ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈΡΠ΅ Π²ΡΠ·Π»ΠΈ. Π’ΠΎΠ²Π° Π½ΠΈ ΡΡΡΡΠ²Π° ΠΎΡΠ΅ 2 ΡΠ΅Π΄ΠΌΠΈΡΠΈ Π·Π° ΠΏΡΡΠ²ΠΈΡΠ΅ 4 ΡΠ΅Π΄ΠΌΠΈΡΠΈ Π·Π° ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°.
ΠΠΎΡΡΠ° Π»Π΅ΡΠ½ΠΎ Π΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ°ΠΊΡΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌ - Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠΌ CTE ΠΈ ΡΠΆ ΡΠ΅ΡΠ΅ΠΌ Π½Π΅ΡΠΎ Π² Π½Π΅Π³ΠΎ. ΠΡΡΡΠ½ΠΎΡΡ PostgreSQL Π΅ βΡΠΌΠ΅Π½β ΠΈ Π½ΡΠΌΠ° Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ Π½ΠΈΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ°ΠΌ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π²Π·Π΅ΠΌΠ°ΠΌΠ΅ ΠΏΡΡΠ²ΠΈΡ Π·Π°ΠΏΠΈΡ ΠΎΡ Π½Π΅Π³ΠΎ ΠΈ ΡΡΠΎ ΠΈ ΠΏΡΡΠ²ΠΈΡ ΠΎΡ ΡΡΡΠΈΡ CTE ΠΊΡΠΌ Π½Π΅Π³ΠΎ.
Π Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΠΏΠ»Π°Π½Π° ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅ - ΡΡΡΠ°Π½Π½ΠΎ, ΠΈΠΌΠ°Ρ
ΠΌΠ΅ 3 Π±ΡΡΠ΅ΡΠ° (ΡΡΡΠ°Π½ΠΈΡΠΈ Ρ Π΄Π°Π½Π½ΠΈ), "ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ°Π½ΠΈ" Π² Seq Scan, ΠΎΡΠ΅ 1 Π² CTE ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ ΠΈ ΠΎΡΠ΅ 2 Π²ΡΠ² Π²ΡΠΎΡΠΎΡΠΎ CTE ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅. Π’ΠΎΠ΅ΡΡ, Π°ΠΊΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΠΌΠΈΡΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ, ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ 6, Π½ΠΎ ΠΎΡ ΡΠ°Π±Π»Π΅ΡΠ° ΡΠ΅ΡΠ΅ΠΌ ΡΠ°ΠΌΠΎ 3! CTE Scan Π½Π΅ ΡΠ΅ΡΠ΅ Π½ΠΈΡΠΎ ΠΎΡ Π½ΠΈΠΊΡΠ΄Π΅, Π° ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ°. Π’Π°ΠΊΠ° ΡΠ΅ ΡΡΠΊ Π½Π΅ΡΠΎ ΡΠ²Π½ΠΎ Π½Π΅ Π΅ Π½Π°ΡΠ΅Π΄!
ΠΡΡΡΠ½ΠΎΡΡ ΡΠ΅ ΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ ΡΡΠΊ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ 3 ΡΡΡΠ°Π½ΠΈΡΠΈ Ρ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΠΈΡΠΊΠ°Π½ΠΈ ΠΎΡ Seq Scan, ΠΏΡΡΠ²ΠΎ 1 Π΅ ΠΏΠΎΠΈΡΠΊΠ°Π»Π° 1-Π²ΠΎ CTE ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° 2-ΡΠ° ΠΈ ΡΠ° ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈ ΠΎΡΠ΅ 2. Π’ΠΎΠ΅ΡΡ ΠΎΠ±ΡΠΎ 3 ΡΡΡΠ°Π½ΠΈΡΠΈ ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π° Π½Π΅ 6.
Π ΡΠ°Π·ΠΈ ΠΊΠ°ΡΡΠΈΠ½Π° Π½ΠΈ Π½Π°ΠΊΠ°ΡΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ, ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠ»Π°Π½Π° Π²Π΅ΡΠ΅ Π½Π΅ Π΅ Π΄ΡΡΠ²ΠΎ, Π° ΠΏΡΠΎΡΡΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ Π°ΡΠΈΠΊΠ»ΠΈΡΠ½Π° Π³ΡΠ°ΡΠΈΠΊΠ°. Π ΠΏΠΎΠ»ΡΡΠΈΡ
ΠΌΠ΅ Π½Π΅ΡΠΎ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ°, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ "Π½Π΅ΡΠΎ ΠΎΡΠΊΡΠ΄Π΅ ΠΈΠ·ΠΎΠ±ΡΠΎ Π΅ Π΄ΠΎΡΠ»ΠΎ." Π’ΠΎΠ΅ΡΡ, ΡΡΠΊ ΡΡΠ·Π΄Π°Π΄ΠΎΡ
ΠΌΠ΅ CTE ΠΎΡ pg_class ΠΈ Π³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°Ρ
ΠΌΠ΅ Π΄Π²Π° ΠΏΡΡΠΈ ΠΈ ΠΏΠΎΡΡΠΈ ΠΏΡΠ΅Π· ΡΡΠ»ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½ΠΈ ΠΎΡΠ²Π΅Π΄Π΅ ΠΏΠΎ ΠΊΠ»ΠΎΠ½Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π³ΠΎ ΠΏΠΎΠΈΡΠΊΠ°Ρ
ΠΌΠ΅ Π²ΡΠΎΡΠΈΡ ΠΏΡΡ. Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ Π½Π° 2-Π²ΠΎΡΠΎ Π²Π»ΠΈΠ·Π°Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡΠΊΡΠΏΠΎ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΡΠ°ΠΌΠΎ 101-Π²ΠΎΡΠΎ ΠΎΡ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°.
ΠΠΎΠ΅Ρ
ΠΌΠ΅ Π΄ΡΡ
Π·Π° ΠΌΠ°Π»ΠΊΠΎ. ΠΠ°Π·Π°: βΠ‘Π΅Π³Π°, ΠΠ΅ΠΎ, Π·Π½Π°Π΅Ρ ΠΊΡΠ½Π³-ΡΡ! Π‘Π΅Π³Π° Π½Π°ΡΠΈΡΡ ΠΎΠΏΠΈΡ Π΅ ΡΠΎΡΠ½ΠΎ Π½Π° Π²Π°ΡΠΈΡ Π΅ΠΊΡΠ°Π½. Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅."
ΠΠΎΠ½ΡΠΎΠ»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
ΠΠ°ΡΠΈΡΠ΅ 1000 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π²ΡΠ·Π΄ΡΡ Π½Π°Ρ Π° Ρ ΠΎΠ±Π»Π΅ΠΊΡΠ΅Π½ΠΈΠ΅. ΠΠΎ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°ΠΌΠΎ ΡΡΠΎΡΠΈΡΠΈ "Π±ΠΎΠΉΠ½ΠΈ" ΡΡΡΠ²ΡΡΠΈ ΠΈ ΡΡΠ»ΠΎΡΠΎ ΡΠΎΠ²Π° "ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅" ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π΅ Π΅ Π½ΠΈΠΊΠ°ΠΊ ΡΠ΄ΠΎΠ±Π½ΠΎ. Π Π°Π·Π±ΡΠ°Ρ ΠΌΠ΅, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ ΡΡΠ±Π΅ΡΠ΅ΠΌ ΡΠ°ΠΌΠΈ.
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ ΠΈΠΌΠ° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΠΌΠΎΠ΄ΡΠ», ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ±ΠΈΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, Π½ΠΎ ΡΠΎΠΉ ΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° - ΡΠΎΠ²Π°
ΠΡΡΠ²ΠΎ, ΡΠΎΠΉ ΠΏΡΠΈΡΠ²ΠΎΡΠ²Π° Π½Π° Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡ
Π΅ΠΌΠΈ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ QueryIds. Π’ΠΎΠ²Π° Π΅, Π°ΠΊΠΎ ΠΏΡΡΠ²ΠΎ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ SET search_path = '01'; SELECT * FROM user LIMIT 1;
ΠΈ ΡΠΎΠ³Π°Π²Π° SET search_path = '02';
ΠΈ Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° Π·Π°ΡΠ²ΠΊΠ°, ΡΠΎΠ³Π°Π²Π° ΡΠ΅ ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΠΌΠΎΠ΄ΡΠ» ΠΈ Π½ΡΠΌΠ° Π΄Π° ΠΌΠΎΠ³Π° Π΄Π° ΡΡΠ±Π΅ΡΠ° ΠΎΠ±ΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠΈΠ» Π½Π° Π·Π°ΡΠ²ΠΊΠ°, Π±Π΅Π· Π΄Π° Π²Π·Π΅ΠΌΠ° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΡ
Π΅ΠΌΠΈ.
ΠΡΠΎΡΠ°ΡΠ° ΡΠΎΡΠΊΠ°, ΠΊΠΎΡΡΠΎ Π½ΠΈ ΠΏΠΎΠΏΡΠ΅ΡΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ - Π»ΠΈΠΏΡΠ° Π½Π° ΠΏΠ»Π°Π½ΠΎΠ²Π΅. Π’ΠΎΠ΅ΡΡ Π½ΡΠΌΠ° ΠΏΠ»Π°Π½, ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ ΡΠ°ΠΌΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°. ΠΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π·Π°Π±Π°Π²ΠΈ, Π½ΠΎ Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°ΠΌΠ΅ Π·Π°ΡΠΎ. Π ΡΡΠΊ ΡΠ΅ Π²ΡΡΡΠ°ΠΌΠ΅ ΠΊΡΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π±ΡΡΠ·ΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠΈΡ ΡΠ΅ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΌΠΎΠΌΠ΅Π½Ρ - Π»ΠΈΠΏΡΠ° Π½Π° "ΡΠ°ΠΊΡΠΈ". Π’ΠΎΠ΅ΡΡ, Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ° - ΡΠΎΠΉ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°, ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Ρ ΡΠΎΠ²Π°, ΠΏΡΠΎΡΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΄Π½ΠΎ.
ΠΠ°ΡΠΎΠ²Π° ΡΠ΅ΡΠΈΡ
ΠΌΠ΅ Π΄Π° ΡΠ΅ Π±ΠΎΡΠΈΠΌ ΡΡΠ΅ΡΡ "copy-paste" ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ
ΠΌΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ»Π΅ΠΊΡΠΎΡ.
ΠΠΎΠ»Π΅ΠΊΡΠΎΡΡΡ ΡΠ΅ ΡΠ²ΡΡΠ·Π²Π° ΡΡΠ΅Π· SSH, βΠ΄ΡΡΠΏΠ°β Π·Π°ΡΠΈΡΠ΅Π½Π° Π²ΡΡΠ·ΠΊΠ° ΠΊΡΠΌ ΡΡΡΠ²ΡΡΠ° Ρ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΈ tail -F
"ΠΏΡΠΈΠ»Π΅ΠΏΠ²Π°" ΠΊΡΠΌ Π½Π΅Π³ΠΎ Π² Π»ΠΎΠ³ ΡΠ°ΠΉΠ»Π°. Π’Π°ΠΊΠ° ΡΠ΅ Π² ΡΠ°Π·ΠΈ ΡΠ΅ΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΏΡΠ»Π½ΠΎ "ΠΎΠ³Π»Π΅Π΄Π°Π»ΠΎ" Π½Π° ΡΠ΅Π»ΠΈΡ Π»ΠΎΠ³ ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΎΡ ΡΡΡΠ²ΡΡΠ°. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΌΠΈΡ ΡΡΡΠ²ΡΡ Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ, Π·Π°ΡΠΎΡΠΎ Π½ΠΈΠ΅ Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Π½ΠΈΡΠΎ ΡΠ°ΠΌ, ΠΏΡΠΎΡΡΠΎ ΠΎΡΡΠ°Π·ΡΠ²Π°ΠΌΠ΅ ΡΡΠ°ΡΠΈΠΊΠ°.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ Π²Π΅ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π² Node.js, ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡ ΠΌΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ»Π΅ΠΊΡΠΎΡΠ° Π²ΡΡΡ Ρ Π½Π΅Π³ΠΎ. Π ΡΠ°Π·ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ΅ ΠΎΠΏΡΠ°Π²Π΄Π°, Π·Π°ΡΠΎΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° JavaScript Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π»Π΅ΠΊΠΎ ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π΄Π½Π΅Π²Π½ΠΈΠΊΡΡ. Π ΡΠ°ΠΌΠ°ΡΠ° Node.js ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠΎ backend ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΏΡΠ°Π²ΠΈ Π»Π΅ΡΠ½Π° ΠΈ ΡΠ΄ΠΎΠ±Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΈ Π½Π°ΠΈΡΡΠΈΠ½Π° Ρ Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΠΏΠΎΡΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ βΡΠ°Π·ΡΡΠ³Π°ΠΌΠ΅β Π΄Π²Π΅ Π²ΡΡΠ·ΠΊΠΈ: ΠΏΡΡΠ²Π°ΡΠ°, Π·Π° Π΄Π° βΡΠ»ΡΡΠ°ΠΌΠ΅β ΡΠ°ΠΌΠΈΡ Π΄Π½Π΅Π²Π½ΠΈΠΊ ΠΈ Π΄Π° Π³ΠΎ Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΏΡΠΈ ΡΠ΅Π±Π΅ ΡΠΈ, Π° Π²ΡΠΎΡΠ°ΡΠ°, Π·Π° Π΄Π° ΠΏΠΈΡΠ°ΠΌΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π±Π°Π·Π°ΡΠ°. βΠΠΎ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ, ΡΠ΅ ΡΠ°Π±Π»Π΅ΡΡΡ Ρ oid 123 Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½β, Π½ΠΎ ΡΠΎΠ²Π° Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π²Π° Π½ΠΈΡΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ Π±ΠΈ Π±ΠΈΠ»ΠΎ Ρ ΡΠ±Π°Π²ΠΎ Π΄Π° ΠΏΠΎΠΏΠΈΡΠ°ΡΠ΅ Π±Π°Π·Π°ΡΠ° βΠΠ°ΠΊΠ²ΠΎ Π΅ OID = 123 Π²ΡΠ΅ ΠΏΠ°ΠΊ?β Π ΡΠ°ΠΊΠ° ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ ΠΏΠΈΡΠ°ΠΌΠ΅ Π±Π°Π·Π°ΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡΠ΅ Π½Π΅ Π·Π½Π°Π΅ΠΌ.
βΠ‘Π°ΠΌΠΎ Π΅Π΄Π½ΠΎ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠΎΠΏΡΡΠ½Π°Ρ
ΡΠ΅, ΠΈΠΌΠ° Π²ΠΈΠ΄ ΠΏΡΠ΅Π»ΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° ΡΠ»ΠΎΠ½! ..β ΠΠ°ΠΏΠΎΡΠ½Π°Ρ
ΠΌΠ΅ Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΡΠΊΠ°Ρ
ΠΌΠ΅ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ 10 ΡΡΡΠ²ΡΡΠ°. ΠΠ°ΠΉ-ΠΊΡΠΈΡΠΈΡΠ½ΠΈΡΡ Π² Π½Π°ΡΠ΅ΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, Π½Π° ΠΊΠΎΠΉΡΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π°Ρ
Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, Ρ ΠΊΠΎΠΈΡΠΎ Π±Π΅ΡΠ΅ ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΠΌ. ΠΠΎ ΠΏΡΠ΅Π· ΠΏΡΡΠ²ΠΎΡΠΎ ΡΡΠΈΠΌΠ΅ΡΠ΅ΡΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡ
ΠΌΠ΅ ΡΡΠΎ Π·Π° Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ - Π·Π°ΡΠΎΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° βΠ²Π»Π΅Π·Π΅β, Π²ΡΠΈΡΠΊΠΈ Ρ ΠΈΡΠΊΠ°Ρ
Π°, ΡΠ΄ΠΎΠ±Π½ΠΎ Π΅ Π·Π° Π²ΡΠΈΡΠΊΠΈ.
ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΡΠΌΠΈΡΠ°, ΠΏΠΎΡΠΎΠΊΡΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π΅ Π³ΠΎΠ»ΡΠΌ, Π°ΠΊΡΠΈΠ²Π΅Π½. ΠΡΡΡΠ½ΠΎΡΡ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅, Ρ ΠΊΠΎΠ΅ΡΠΎ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΡΠΌΠ΅, Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. ΠΠΈΠ΅ ΡΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ PostgreSQL ΠΊΠ°ΡΠΎ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ. Π Π½ΠΈΡΠΎ Π½Π΅ "Π½Π°Π»ΠΈΠ²Π°" Π΄Π°Π½Π½ΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ Π² Π½Π΅Π³ΠΎ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° COPY
ΠΡΠ΅ ΠΎΡΠ΅ Π½Π΅.
ΠΠΎ ΠΏΡΠΎΡΡΠΎΡΠΎ βΠΈΠ·Π»ΠΈΠ²Π°Π½Π΅β Π½Π° Π΄Π°Π½Π½ΠΈ Π½Π΅ Π΅ ΡΠΎΡΠ½ΠΎ Π½Π°ΡΠ°ΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ. ΠΠ°ΡΠΎΡΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 50k Π·Π°ΡΠ²ΠΊΠΈ Π² ΡΠ΅ΠΊΡΠ½Π΄Π° Π½Π° ΡΡΠΎ ΡΡΡΠ²ΡΡΠ°, ΡΠΎΠ²Π° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° 100-150GB ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π΄Π΅Π½ Π·Π° Π²Π°Ρ. ΠΠ°ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ Π΄Π° "ΠΎΡΡΠ΅ΠΆΠ΅ΠΌ" ΠΎΡΠ½ΠΎΠ²Π°ΡΠ°.
ΠΡΡΠ²ΠΎ, Π½ΠΈΠ΅ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ ΠΏΠΎ Π΄Π½ΠΈ, Π·Π°ΡΠΎΡΠΎ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π° ΠΎΡ ΡΡΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π½ΠΈΡΠ΅. ΠΠ°ΠΊΠ²Π° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΈΠΌΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΠ΅ ΠΈΠΌΠ°Π»ΠΈ Π²ΡΠ΅ΡΠ°, Π°ΠΊΠΎ ΡΠ°Π·ΠΈ Π²Π΅ΡΠ΅Ρ ΡΡΠ΅ ΠΏΡΡΠ½Π°Π»ΠΈ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ - ΠΈ Π²Π΅ΡΠ΅ Π½ΡΠΊΠΎΠΈ Π½ΠΎΠ²ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ.
ΠΡΠΎΡΠΎ, Π½Π°ΡΡΠΈΡ
ΠΌΠ΅ (Π±ΡΡ
ΠΌΠ΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ) ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ·ΠΎ Π·Π° ΠΏΠΈΡΠ°Π½Π΅ COPY
. Π’ΠΎΠ΅ΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ COPY
Π·Π°ΡΠΎΡΠΎ Π΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ ΠΎΡ INSERT
, ΠΈ Π΄ΠΎΡΠΈ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ.
Π’ΡΠ΅ΡΠΈΡΡ ΠΌΠΎΠΌΠ΅Π½Ρ β ΡΡΡΠ±Π²Π°ΡΠ΅ ΠΎΡΠΊΠ°Π·Π²Π°Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²Π°Π½ΠΈΡ, ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΈ ΠΎΡ Π²ΡΠ½ΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅. Π’ΠΎΠ΅ΡΡ, Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠΎ Π½ΡΠΌΠ°ΠΌΠ΅ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π° ΡΡΠ»ΠΎΡΡ. ΠΠ°ΡΠΎΡΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠ°, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ° ΡΠΈΡΡ FK Π²ΡΡΡ
Ρ Π½Π΅Ρ, ΠΈ ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π² ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΠ΅ "Π΅ΡΠΎ Π·Π°ΠΏΠΈΡ Π² ΠΆΡΡΠ½Π°Π»Π°, ΠΏΡΠ΅ΠΏΡΠ°ΡΠ΅Π½ ΠΎΡ FK, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΡΠΌ Π³ΡΡΠΏΠ° Π·Π°ΠΏΠΈΡΠΈ", ΡΠΎΠ³Π°Π²Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π³ΠΎ Π²ΠΌΡΠΊΠ½Π΅ΡΠ΅, PostgreSQL Π½Π΅ ΠΌΡ ΠΎΡΡΠ°Π²Π° Π½ΠΈΡΠΎ Π΄ΡΡΠ³ΠΎ ΠΎΡΠ²Π΅Π½ ΠΊΠ°ΠΊ Π΄Π° Π²Π·Π΅ΠΌΠ΅ ΠΈ ΡΠ΅ΡΡΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈ SELECT 1 FROM master_fk1_table WHERE ...
Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΡΠ΅ Π΄Π° Π²ΠΌΡΠΊΠ½Π΅ΡΠ΅ - ΡΠ°ΠΌΠΎ Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄Π°Π»ΠΈ ΡΠΎΠ·ΠΈ Π·Π°ΠΏΠΈΡ ΠΏΡΠΈΡΡΡΡΠ²Π° ΡΠ°ΠΌ, ΡΠ΅ Π½Π΅ "ΠΎΡΡΡΠΏΠ²Π°ΡΠ΅" ΡΠΎΠ·ΠΈ ΡΡΠΆΠ΄ ΠΊΠ»ΡΡ Ρ Π²ΠΌΡΠΊΠ²Π°Π½Π΅ΡΠΎ ΡΠΈ.
ΠΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π΅Π΄ΠΈΠ½ Π·Π°ΠΏΠΈΡ Π² ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° ΠΈ Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΏΠ»ΡΡ ΡΠ΅ΡΠ΅Π½Π΅ ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ, ΠΊΡΠΌ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ. Π ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ Π½ΠΈ ΡΡΡΠ±Π²Π° - Π½Π°ΡΠ°ΡΠ° Π·Π°Π΄Π°ΡΠ° Π΅ Π΄Π° Π·Π°ΠΏΠΈΡΠ²Π°ΠΌΠ΅ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-Π±ΡΡΠ·ΠΎ Ρ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅. Π’Π°ΠΊΠ° ΡΠ΅ FK - Π΄ΠΎΠ»Ρ!
Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΠΎΡΠΊΠ° Π΅ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ Ρ Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ. ΠΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π³ΠΈ Π²Π½Π΅Π΄ΡΠΈΡ ΠΌΠ΅ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ - Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π²Π΅Π΄Π½Π°Π³Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠΈΡΡΠΈΠ³Π½Π΅ Π·Π°ΠΏΠΈΡΡΡ, Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π² Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΡΠ°Π±Π»Π΅Ρ "ΠΏΠ»ΡΡ Π΅Π΄Π½ΠΎ" ΡΠΎΡΠ½ΠΎ Π² ΡΠΏΡΡΡΠΊΠ°. ΠΠΎΠ±ΡΡ, ΡΠ΄ΠΎΠ±Π΅Π½, Π½ΠΎ ΠΏΠΎ ΡΡΡΠΈΡ Π½Π°ΡΠΈΠ½ Π»ΠΎΡ - Π²ΠΌΡΠΊΠ²Π°Ρ Π΅Π΄ΠΈΠ½ Π·Π°ΠΏΠΈΡ, Π½ΠΎ ΡΠΈ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ Π΄Π° ΡΠ΅ΡΠ΅Ρ ΠΈ ΠΏΠΈΡΠ΅Ρ Π½Π΅ΡΠΎ Π΄ΡΡΠ³ΠΎ ΠΎΡ Π΄ΡΡΠ³Π° ΡΠ°Π±Π»ΠΈΡΠ°. ΠΡΠΈ ΡΠΎΠ²Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π΄Π° ΡΠ΅ΡΠ° ΠΈ ΠΏΠΈΡΠ° - ΠΈ Π΄Π° Π³ΠΎ ΠΏΡΠ°Π²Ρ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ.
Π‘Π΅Π³Π° ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅ΡΠ΅, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠ°, Π² ΠΊΠΎΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅Π±ΡΠΎΡΠ²Π°ΡΠ΅ Π±ΡΠΎΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π»ΠΈ ΠΏΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Ρ
ΠΎΡΡ: +1, +1, +1, ..., +1
. Π Π²ΠΈΠ΅ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π½Π΅ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅ ΠΎΡ ΡΠΎΠ²Π° - Π²ΡΠΈΡΠΊΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΌΠ° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΎΡΠ° ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠΈ Π΄ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π°Π²Π΅Π΄Π½ΡΠΆ +10
.
ΠΠ°, Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π½ΡΠΊΠ°ΠΊΠ²Π° Π½Π΅ΠΈΠ·ΠΏΡΠ°Π²Π½ΠΎΡΡ, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°ΡΠ° Π²ΠΈ ΡΡΠ»ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ βΡΠ°Π·ΠΏΠ°Π΄Π½Π΅β, Π½ΠΎ ΡΠΎΠ²Π° Π΅ ΠΏΠΎΡΡΠΈ Π½Π΅ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ΅Π½ ΡΠ»ΡΡΠ°ΠΉ - Π·Π°ΡΠΎΡΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»Π΅Π½ ΡΡΡΠ²ΡΡ, ΡΠΎΠΉ ΠΈΠΌΠ° Π±Π°ΡΠ΅ΡΠΈΡ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ°, ΠΈΠΌΠ°ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΡ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈΡΠ΅, Π²Π»Π΅Π·ΡΠ΅ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ... ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ Π½Π΅ ΡΠΈ ΡΡΡΡΠ²Π°. ΠΠ΅ ΡΠΈ ΡΡΡΡΠ²Π° Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΠΎΡ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΈΠ³Π΅ΡΠΈ/FK Π·Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΅ΠΌΠ°ΡΠ΅.
Π‘ΡΡΠΎΡΠΎ Π²Π°ΠΆΠΈ ΠΈ Π·Π° Ρ Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π»Π΅ΡΠΈ Π΄ΠΎ Π²Π°Ρ, Π²ΠΈΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΡ Π½Π΅Ρ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π·Π°ΠΏΠΈΡΠ²Π°ΡΠ΅ Π³ΠΎ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π³ΠΎ ΠΊΠ°Π·Π²Π°ΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ. ΠΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π·Π°ΠΏΠΈΡΠ° Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅ Π²ΡΠΎΡΠΈ ΡΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΈΡΠΊΠ° Π΄Π° Π³ΠΎ Π·Π°ΠΏΠΈΡΠ΅ ΡΠ°ΠΌ - ΠΈ ΠΈΠΌΠ°ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ ΠΈ ΡΠΎΠ²Π° Π²Π΅ΡΠ΅ Π΅ Π»ΠΎΡΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, Π°ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½ΡΠΊΠΎΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (ΡΠΏΡΡΠΌΠΎ Π±Π°Π·Π°ΡΠ°), ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°.
ΠΠ° Π½Π°Ρ Π±Π΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΈΠ΄Π΅Π°Π»Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ MD5 ΠΎΡ ΡΠ΅ΠΊΡΡ - Π·Π°ΡΠ²ΠΊΠ°, ΠΏΠ»Π°Π½, ΡΠ°Π±Π»ΠΎΠ½, ... ΠΠΈΠ΅ Π³ΠΎ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°ΠΌΠ΅ ΠΎΡ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΎΡΠ° ΠΈ βΠΈΠ·ΡΠΈΠΏΠ²Π°ΠΌΠ΅β Π³ΠΎΡΠΎΠ² ID Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. ΠΡΠ»ΠΆΠΈΠ½Π°ΡΠ° Π½Π° MD5 ΠΈ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΡΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° Π½Π΅ ΡΠ΅ ΡΡΠ΅Π²ΠΎΠΆΠΈΠΌ Π·Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΡΠ±Π»ΡΡΡΡΠΈ.
ΠΠΎ Π·Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ΠΌ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π±ΡΡΠ·ΠΎ, ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠΌ ΡΠ°ΠΌΠ°ΡΠ° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π½Π° Π·Π°ΠΏΠΈΡ.
ΠΠ°ΠΊ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ²Π°Ρ Π΄Π°Π½Π½ΠΈΡΠ΅? ΠΠΌΠ°ΠΌΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°Π±ΠΎΡ ΠΎΡ Π΄Π°Π½Π½ΠΈ, ΡΠ°Π·Π»Π°Π³Π°ΠΌΠ΅ Π³ΠΎ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ°Π±Π»ΠΈΡΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΠΠΠΠ ΠΠΠ - ΠΏΡΡΠ²ΠΎ Π² ΠΏΡΡΠ²Π°ΡΠ°, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π²ΡΠ² Π²ΡΠΎΡΠ°ΡΠ°, Π² ΡΡΠ΅ΡΠ°ΡΠ° ... ΠΠ΅ΡΠ΄ΠΎΠ±Π½ΠΎ Π΅, Π·Π°ΡΠΎΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ ΠΏΠΈΡΠ΅ΠΌ Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² ΡΡΠΈ ΡΡΡΠΏΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ . Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎ. ΠΠΎΠΆΠ΅ Π»ΠΈ Π΄Π° ΡΡΠ°Π½Π΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ? ΠΠΎΠ³Π°!
ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°, Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ ΡΠ°ΠΌΠΎ Π΄Π° ΡΠ°Π·Π»ΠΎΠΆΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΠΏΠΎΡΠΎΡΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Π΅Π΄ΠΈΠ½ Π½Π° Π΄ΡΡΠ³. ΠΠΊΠ°Π·Π²Π° ΡΠ΅, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠΈ, Π·Π°ΡΠ²ΠΊΠΈ, ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΊΠ»ΡΡΠ°Π»ΠΊΠΈ, Π»Π΅ΡΡΡΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ΅ΠΌΠΈ, ... - ΠΈ ΠΏΠΈΡΠ΅ΠΌ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ. ΠΠ° ΡΠΎΠ²Π° Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΉΡΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ COPY ΠΊΠ°Π½Π°Π» Π·Π° Π²ΡΡΠΊΠ° ΠΎΡΠ΄Π΅Π»Π½Π° ΡΠ΅Π»Π΅Π²Π° ΡΠ°Π±Π»ΠΈΡΠ°.
Π’ΠΎΠ΅ΡΡ ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΎΠ½Π΅ΡΡΡ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠΌΠ° ΠΏΠΎΡΠΎΠΊ, Π² ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠ³Π° Π΄Π° Π·Π°ΠΏΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΌΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΎ Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Π½ΡΠΊΠΎΠΉ Π΄Π° Π½Π΅ Π²ΠΈΡΠΈ Π² ΠΊΠ»ΡΡΠ°Π»ΠΊΠΈ, ΡΠ°ΠΊΠ°ΠΉΠΊΠΈ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ, ΠΠΠΠΠ ΠΠΠΠ’Π ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΊΡΡΠ²Π° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ. ΠΡΠΈ Π½Π°Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΡΡ ΠΎΡ ΠΎΠΊΠΎΠ»ΠΎ 100ms ΡΠ΅ ΠΎΠΊΠ°Π·Π° Π½Π°ΠΉ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ - Π·Π°ΡΠ²Π°ΡΡΠΌΠ΅ Π³ΠΎ ΠΈ Π²Π΅Π΄Π½Π°Π³Π° Π³ΠΎ ΠΎΡΠ²Π°ΡΡΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ Π½Π° ΡΡΡΠ°ΡΠ° ΠΌΠ°ΡΠ°. Π Π°ΠΊΠΎ Π½ΡΠΌΠ°ΠΌΠ΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ ΠΏΡΠΈ Π½ΡΠΊΠΎΠΈ ΠΏΠΈΠΊΠΎΠ²Π΅, ΡΠΎΠ³Π°Π²Π° ΠΏΡΠ°Π²ΠΈΠΌ ΠΎΠ±Π΅Π΄ΠΈΠ½ΡΠ²Π°Π½Π΅ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π»ΠΈΠΌΠΈΡ.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΎΡΠΊΡΠΈΡ
ΠΌΠ΅, ΡΠ΅ Π·Π° ΡΠ°ΠΊΡΠ² ΠΏΡΠΎΡΠΈΠ» Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π²ΡΡΠΊΠΎ Π°Π³ΡΠ΅Π³ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΡΠ΅ ΡΡΠ±ΠΈΡΠ°Ρ Π² ΠΏΠ°ΠΊΠ΅ΡΠΈ, Π΅ Π·Π»ΠΎ. ΠΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΎΡΠΎ Π·Π»ΠΎ Π΅ INSERT ... VALUES
ΠΈ ΠΎΡΠ΅ 1000 Π·Π°ΠΏΠΈΡΠ°. ΠΠ°ΡΠΎΡΠΎ Π² ΡΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΈΠΊ Π½Π° Π·Π°ΠΏΠΈΡ Π½Π° Π½ΠΎΡΠΈΡΠ΅Π»Ρ ΠΈ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π° Π·Π°ΠΏΠΈΡΠ°Ρ Π½Π΅ΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ°, ΡΠ΅ ΡΠ°ΠΊΠ°Ρ.
ΠΠ° Π΄Π° ΡΠ΅ ΠΎΡΡΡΠ²Π΅ΡΠ΅ ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ, ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ Π½ΠΈΡΠΎ, ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ Π±ΡΡΠ΅ΡΠΈΡΠ°ΠΉΡΠ΅. Π Π°ΠΊΠΎ ΡΠ΅ ΡΠ»ΡΡΠΈ Π±ΡΡΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΊΡΠΌ Π΄ΠΈΡΠΊ (Π·Π° ΡΠ°ΡΡΠΈΠ΅ API Π½Π° ΠΏΠΎΡΠΎΠΊΠ° Π² Node.js Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅) - ΠΎΡΠ»ΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·ΠΈ Π²ΡΡΠ·ΠΊΠ°. Π’ΠΎΡΠ½ΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π²ΠΈ Π΄ΠΎΠΉΠ΄Π΅ ΡΡΠ±ΠΈΡΠΈΠ΅, ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ Π΅ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ - ΠΏΠΈΡΠ΅ΡΠ΅ ΠΌΡ ΠΎΡ Π½Π°ΡΡΡΠΏΠ°Π½Π°ΡΠ° ΠΎΠΏΠ°ΡΠΊΠ°. ΠΠ΅ΠΆΠ΄ΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΅ Π·Π°Π΅ΡΠΎ - Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π΅Π½ ΠΎΡ ΠΏΡΠ»Π° ΠΈ ΠΌΡ ΠΏΠΈΡΠ΅ΡΠ΅.
ΠΡΠ΅Π΄ΠΈ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΠΌ ΡΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π·Π° ΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 4K ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π° Π·Π°ΠΏΠΈΡ ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π½Π°ΠΌΠ°Π»ΠΈΡ ΠΌΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ 4 ΠΏΡΡΠΈ. Π‘Π΅Π³Π° ΡΠ΅ ΡΠ° Π½Π°ΡΠ°ΡΠ½Π°Π»ΠΈ ΠΎΡΠ΅ 6 ΠΏΡΡΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ - Π΄ΠΎ 100MB / s. Π ΡΠ΅Π³Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ 3 ΠΌΠ΅ΡΠ΅ΡΠ° Π² ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΠΎΠΊΠΎΠ»ΠΎ 10-15TB, Π½Π°Π΄ΡΠ²Π°ΠΉΠΊΠΈ ΡΠ΅, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠΈ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π·Π° ΡΡΠΈ ΠΌΠ΅ΡΠ΅ΡΠ°.
Π Π°Π·Π±ΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅
ΠΠΎ ΠΏΡΠΎΡΡΠΎΡΠΎ ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π΅ Π΄ΠΎΠ±ΡΠΎ, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ, Π½ΠΎ Π½Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ β ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅. ΠΠ°ΡΠΎΡΠΎ ΡΠΎΠ²Π° ΡΠ° ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π½Π° Π΄Π΅Π½.
ΠΠΎ ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈΡΠ΅ ΡΠ° Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ "ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ". Π Π½Π° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠΈΡΠ΅ ΠΊΠ°ΠΊ ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠΎΠ·ΠΈ βΠΏΠΎ-ΠΌΠ°Π»ΡΠΊβ.
ΠΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Ρ ΠΌΠ΅ ΡΡΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΡΠΎΡΠΊΠΈ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ:
- ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠΈ ΡΠ°Π·ΠΈ Π·Π°ΡΠ²ΠΊΠ°
Π’ΠΎΠ΅ΡΡ ΠΎΡ ΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅ βΠΏΡΠΈΡΡΠΈΠ³Π½Π°Π»ΠΎβ: ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π±Π΅ΠΊΠ΅Π½Π΄, ΠΏΠ»Π°ΡΠ΅ΠΆΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ»ΠΈ Π½Π΅ΡΠΎ Π΄ΡΡΠ³ΠΎ. - ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ»ΡΡΠΈ ΡΠ΅
ΠΠ° ΠΊΠ°ΠΊΡΠ² ΡΠΎΡΠ½ΠΎ ΡΡΡΠ²ΡΡ. ΠΠ°ΡΠΎΡΠΎ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ²ΡΡΠ° ΠΏΠΎΠ΄ Π΅Π΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ Π΅Π΄ΠΈΠ½ βΠ·Π°ΡΡΠΏΠ΅Π½β (Π·Π°ΡΠΎΡΠΎ βΠ΄ΠΈΡΠΊΡΡ Π΅ ΠΈΠ·Π³Π½ΠΈΠ»β, βΠΈΠ·ΡΠ΅ΠΊΠ»Π° ΠΏΠ°ΠΌΠ΅Ρβ, Π½ΡΠΊΠ°ΠΊΡΠ² Π΄ΡΡΠ³ ΠΏΡΠΎΠ±Π»Π΅ΠΌ), ΡΠΎΠ³Π°Π²Π° ΡΡΡΠ±Π²Π° Π΄Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΡΡΠ²ΡΡΠ°. - ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΠ΅ ΠΏΡΠΎΡΠ²ΠΈ ΠΏΠΎ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ Π½Π°ΡΠΈΠ½
ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ "ΠΊΠΎΠΉ" Π½ΠΈ Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠΈΠ» Π·Π°ΡΠ²ΠΊΠ°, Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ - Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΠ΅ΡΠΈΡΡΠ°: SET application_name = '{bl-host}:{bl-method}';
- ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅ ΠΈΠΌΠ΅ΡΠΎ Π½Π° Ρ
ΠΎΡΡΠ° Π½Π° Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ°, ΠΎΡ ΠΊΠΎΠΉΡΠΎ ΠΈΠ΄Π²Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΠΈ ΠΈΠΌΠ΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Ρ Π΅ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ°Π»ΠΎ.
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠΌΠ΅ ΠΏΡΠ΅Π΄Π°Π»ΠΈ "Π³Π»Π°Π²Π½ΠΈΡ" Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° - Π·Π° ΡΠΎΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° log_line_prefix = ' %m [%p:%v] [%d] %r %a'
. ΠΠ° ΠΊΠΎΠ³ΠΎ ΠΌΡ ΠΏΡΠΊΠ° ΠΌΠΎΠΆΠ΅ Π±ΠΈ
- Π²ΡΠ΅ΠΌΠ΅
- ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
- Π±Π°Π·ΠΎΠ²ΠΎ ΠΈΠΌΠ΅
- IP Π°Π΄ΡΠ΅ΡΡΡ Π½Π° Π»ΠΈΡΠ΅ΡΠΎ, ΠΈΠ·ΠΏΡΠ°ΡΠΈΠ»ΠΎ ΡΠ°Π·ΠΈ Π·Π°ΡΠ²ΠΊΠ°
- ΠΈ ΠΈΠΌΠ΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΡΠ°Π·Π±ΡΠ°Ρ
ΠΌΠ΅, ΡΠ΅ Π½Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΄Π° Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΌΠ΅ ΠΊΠΎΡΠ΅Π»Π°ΡΠΈΡΡΠ° Π·Π° Π΅Π΄Π½Π° Π·Π°ΡΠ²ΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ. Π ΡΠ΄ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ°ΡΠ΅ Π΅Π΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ βΠ³Π»ΡΠΏΠΎΡΡΠΈβ ΡΡΠΊ ΠΈ ΡΠ°ΠΌ. ΠΠΎ Π΄ΠΎΡΠΈ ΠΈ Π΄Π° Π΅ ΡΡΡΠΎΡΠΎ - ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ Π½ΡΠΊΠΎΠΉ ΠΎΡ ΡΠ΅Π·ΠΈ ΡΡΡΠ²ΡΡΠΈ.
Π ΡΠ°ΠΊΠ°, ΠΈΠ·ΡΠ΅ΠΆΠ΅ΡΠ΅ "Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ - Π΅Π΄ΠΈΠ½ Π΄Π΅Π½" Π½Π°ΠΌΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π·Π° Π²ΡΡΠΊΠ°ΠΊΡΠ² Π°Π½Π°Π»ΠΈΠ·.
ΠΡΡΠ²ΠΈΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅Π½ ΡΠ°Π·Π΄Π΅Π» Π΅ ΡΡΡΠΈΡΡ "ΠΏΡΠΎΠ±Π°" - ΡΡΠΊΡΠ°ΡΠ΅Π½Π° ΡΠΎΡΠΌΠ° Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠ»Π°Π½Π°, ΠΈΠ·ΡΠΈΡΡΠ΅Π½Π° ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΠΈΡΡΠΎΠ²ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ. ΠΡΠΎΡΠΈΡΡ ΡΠ°Π·ΡΠ΅Π· Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΡΡ, Π° ΡΡΠ΅ΡΠΈΡΡ Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈΡΡ Π²ΡΠ·Π΅Π» Π½Π° ΠΏΠ»Π°Π½Π°, ΠΊΠΎΠΉΡΠΎ Π½ΠΈ ΡΡΠ·Π΄Π°Π΄Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΌΠ΅ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ ΠΊΡΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ Π΄Π²Π΅ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π½Π°Π²Π΅Π΄Π½ΡΠΆ:
- ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° Π±ΡΠΎΡ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ Π·Π° Π°Π½Π°Π»ΠΈΠ·
Π’ΡΡΠ±Π²Π° Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π²Π΅ΡΠ΅ Π½Π΅ ΡΡΠ΅Π· Ρ ΠΈΠ»ΡΠ΄ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅, Π° ΡΡΠ΅Π· Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. - Π²ΡΠ΅ΠΌΠ΅Π²Π° Π»ΠΈΠ½ΠΈΡ
Π’ΠΎΠ΅ΡΡ, ΡΡΠ΅Π· ΠΎΠ±ΠΎΠ±ΡΠ°Π²Π°Π½Π΅ Π½Π° βΡΠ°ΠΊΡΠΈΡΠ΅β Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π·Π΄Π΅Π», ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΡΠ΅Ρ Π½ΠΈΡΡ Π²ΠΈΠ΄ ΠΏΡΠ΅Π· Π΄Π΅Π½Ρ. Π ΡΡΠΊ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅, ΡΠ΅ Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΊΠ°ΠΊΡΠ² ΠΌΠΎΠ΄Π΅Π», ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²Π΅Π΄Π½ΡΠΆ Π½Π° ΡΠ°Ρ, Π½ΠΎ ΡΡΡΠ±Π²Π° - Π²Π΅Π΄Π½ΡΠΆ Π½Π° Π΄Π΅Π½, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΌΠΈΡΠ»ΠΈΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π΅ ΠΎΠ±ΡΡΠΊΠ°Π»ΠΎ - ΠΎΡ ΠΊΠΎΠ³ΠΎ ΠΈ Π·Π°ΡΠΎ Π΅ Π±ΠΈΠ»ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ°Π½ΠΎ, ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ ΡΡΠΊ Π½Π΅ ΡΡΡΠ±Π²Π°. Π’ΠΎΠ²Π° Π΅ Π΄ΡΡΠ³ Π½Π΅ΡΠΈΡΠ»ΠΎΠ², ΡΠΈΡΡΠΎ Π²ΠΈΠ·ΡΠ°Π»Π΅Π½ Π½Π°ΡΠΈΠ½ Π·Π° Π°Π½Π°Π»ΠΈΠ·.
ΠΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π°Ρ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°ΠΌΠ΅ ΠΎΡ ΠΏΠ»Π°Π½Π°: ΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ ΡΠ΅ Π΅ ΠΏΠΎΡΠ²ΠΈΠ» ΡΠ°ΠΊΡΠ² ΠΌΠΎΠ΄Π΅Π», ΠΎΠ±ΡΠΎΡΠΎ ΠΈ ΡΡΠ΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΊΠΎΠ»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ ΡΠ° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈ ΠΎΡ Π΄ΠΈΡΠΊΠ° ΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° ...
ΠΠ°ΡΠΎΡΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ΄Π²Π°ΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° Π°Π½Π°Π»ΠΈΠ· Π½Π° Ρ ΠΎΡΡΠ°, Π²ΠΈΠΆΡΠ΅ - Π½Π΅ΡΠΎ Π΅ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΄ΠΈΡΠΊΠ°. ΠΠΈΡΠΊΡΡ Π½Π° ΡΡΡΠ²ΡΡΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈ - ΠΈ ΠΊΠΎΠΉ ΡΠ΅ΡΠ΅ ΠΎΡ Π½Π΅Π³ΠΎ?
Π ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΎΡΡΠΈΡΠ°ΡΠ΅ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° ΠΈ Π΄Π° ΡΠ΅ΡΠΈΡΠ΅ Ρ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ΅ ΡΠΏΡΠ°Π²ΠΈΡΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° - Ρ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΠΈΠ»ΠΈ Π½Π° Π΄ΠΈΡΠΊΠ°, ΠΈΠ»ΠΈ Ρ ΠΎΠ±ΡΠΈΡ Π±ΡΠΎΠΉ Π·Π°ΡΠ²ΠΊΠΈ ... Π‘ΠΎΡΡΠΈΡΠ°Π½ΠΈ, ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ΠΈ "Π½Π°ΠΉ-Π΄ΠΎΠ±ΡΠΈΡΠ΅", ΠΏΠΎΠΏΡΠ°Π²Π΅Π½ΠΈ - ΠΏΡΡΠ½Π° Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
Π Π²Π΅Π΄Π½Π°Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π²ΡΡΠ²ΡΡ ΡΡΡ ΡΡΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΎΡ Π·Π°ΡΠ²ΠΊΠ° ΠΊΠ°ΡΠΎ SELECT * FROM users WHERE login = 'Vasya'
. Frontend, backend, processing... Π ΡΠ΅ ΡΡΠ΄ΠΈΡΠ΅ Π·Π°ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, Π°ΠΊΠΎ ΡΠΎΠΉ Π½Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° Ρ Π½Π΅Π³ΠΎ.
ΠΠ±ΡΠ°ΡΠ½ΠΈΡΡ Π½Π°ΡΠΈΠ½ Π΅ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π²Π΅Π΄Π½Π°Π³Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΡΠ°Π²ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡΡ Π΅ ΡΠΎΠ²Π°, ΡΠΎΠ²Π°, ΡΠΎΠ²Π° ΠΈ ΡΠΎΠ²Π° Π²Π΅Π΄Π½ΡΠΆ Π½Π° ΡΠ°Ρ (ΡΠ°ΠΌΠΎ Π²ΡΠ΅ΠΌΠ΅Π²Π°ΡΠ° Π»ΠΈΠ½ΠΈΡ ΠΏΠΎΠΌΠ°Π³Π°). Π Π²Π΅Π΄Π½Π°Π³Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π° Π²ΡΠΏΡΠΎΡΡΡ - ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ Π½Π΅ Π΅ ΡΠ°Π±ΠΎΡΠ° Π½Π° ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° Π΄Π° ΠΏΡΠ°Π²ΠΈ Π½Π΅ΡΠΎ Π²Π΅Π΄Π½ΡΠΆ Π½Π° ΡΠ°Ρ ...
Π‘Π»Π΅Π΄ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ°Π·Π±ΡΠ°Ρ
ΠΌΠ΅, ΡΠ΅ Π½ΠΈ Π»ΠΈΠΏΡΠ²Π° Π°Π³ΡΠ΅Π³Π°Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠΎ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π²ΡΠ·Π»ΠΈ. ΠΠΈΠ΅ ΡΠΌΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π»ΠΈ ΠΎΡ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅ ΡΠ°ΠΌΠΎ ΠΎΠ½Π΅Π·ΠΈ Π²ΡΠ·Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ°Π²ΡΡ Π½Π΅ΡΠΎ Ρ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΡΠ°ΠΌΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ (Π³ΠΈ ΡΠ΅ΡΠ°Ρ/Π·Π°ΠΏΠΈΡΠ²Π°Ρ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ»ΠΈ Π½Π΅). ΠΡΡΡΠ½ΠΎΡΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° ΡΠ½ΠΈΠΌΠΊΠ° Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ Π°ΡΠΏΠ΅ΠΊΡ - ΠΊΠΎΠ»ΠΊΠΎ Π·Π°ΠΏΠΈΡΠ° Π½ΠΈ Π΄ΠΎΠ½Π΅ΡΠ΅ ΡΠΎΠ·ΠΈ Π²ΡΠ·Π΅Π»ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Π΅ ΠΎΡΡ
Π²ΡΡΠ»Π΅Π½ΠΎ (Π Π΅Π΄ΠΎΠ²Π΅, ΠΏΡΠ΅ΠΌΠ°Ρ
Π½Π°ΡΠΈ ΠΎΡ ΡΠΈΠ»ΡΡΡΠ°).
ΠΡΠΌΠ°ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° ΡΠ°Π±Π΅Π»Π°ΡΠ°, ΠΏΡΠ°Π²ΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠ° ΠΊΡΠΌ Π½Π΅Π³ΠΎ, ΡΠΎΠΉ Π»Π΅ΡΠΈ ΠΏΠΎΠΊΡΠ°ΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΠΏΠΎΠΏΠ°Π΄Π° Π² Seq Scan ... ΡΠΈΠ»ΡΡΠΈΡΠ°Ρ ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΅Π΄ΠΈΠ½. Π Π·Π°ΡΠΎ ΡΠΈ ΡΡΡΠ±Π²Π°Ρ 100M ΡΠΈΠ»ΡΡΠΈΡΠ°Π½ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π΄Π΅Π½, Π½Π΅ Π΅ Π»ΠΈ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΄Π° Π½Π°Π²ΠΈΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°?
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ
ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ ΠΏΠΎ Π²ΡΠ·Π»ΠΈ, ΡΠ°Π·Π±ΡΠ°Ρ
ΠΌΠ΅, ΡΠ΅ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠΈ ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ Π² ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»Π½ΠΈ. Π Π±ΠΈ Π±ΠΈΠ»ΠΎ Ρ
ΡΠ±Π°Π²ΠΎ Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°: βΠΡΠΈΡΡΠ΅Π»Ρ, ΡΡΠΊ ΠΏΡΡΠ²ΠΎ ΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠΎΡΡΠΈΡΠ°ΡΠ΅ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΎΡΡΡΠ·Π²Π°ΡΠ΅β - ΠΊΠ°ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½ Π·Π°ΠΏΠΈΡ.
ΠΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π΅ ΡΡΠ΅ΡΠ°Π» ΡΠ°ΠΊΡΠ² ΠΌΠΎΠ΄Π΅Π»: βΠΠ°ΠΉΡΠ΅ ΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΏΠΎΡΡΡΠΊΠ° Π·Π° ΠΠ°ΡΡ, Π½Π΅ΠΉΠ½Π°ΡΠ° Π΄Π°ΡΠ°.β Π Π°ΠΊΠΎ Π½ΡΠΌΠ°ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ Π΄Π°ΡΠ° ΠΈΠ»ΠΈ Π½ΡΠΌΠ° Π΄Π°ΡΠ° Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π»ΠΈ, ΡΠΎΠ³Π°Π²Π° ΡΡΡΠΏΠ΅ΡΠ΅ Π½Π° ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΡΠ² βΡΠ΅ΠΉΠΊβ .
ΠΠΎ Π·Π½Π°Π΅ΠΌ, ΡΠ΅ ΡΠΎΠ²Π° Π΅ βΡΠ΅ΠΉΠΊβ - ΡΠ°ΠΊΠ° ΡΠ΅ Π·Π°ΡΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π²Π΅Π΄Π½Π°Π³Π° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ. Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ, ΠΎΡΠ²Π°ΡΡΠΉΠΊΠΈ ΠΏΠ»Π°Π½Π° ΡΠ΅Π³Π°, Π½Π°ΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²Π΅Π΄Π½Π°Π³Π° Π²ΠΈΠΆΠ΄Π° ΠΊΡΠ°ΡΠΈΠ²Π° ΠΊΠ°ΡΡΠΈΠ½Π° Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π²Π΅Π΄Π½Π°Π³Π° ΠΌΡ ΡΠ΅ ΠΊΠ°Π·Π²Π°: βΠΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΠΊ ΠΈ ΡΠ°ΠΌ, Π½ΠΎ ΡΠ΅ ΡΠ΅ ΡΠ΅ΡΠ°Π²Π°Ρ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½.β
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΡΠΎ ΠΎΠΏΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ ΠΈ ΡΠ΅Π³Π°, Π΅ Π½Π°ΠΌΠ°Π»ΡΠ»ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ. Π’ΡΠΊ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°ΠΊΡΠ² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com