ΠΠ΄ΡΠ°Π²Π΅ΠΉ.
ΠΠ°Π·Π²Π°ΠΌ ΡΠ΅ ΠΠ°Π½Ρ ΠΈ ΡΡΠΌ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Π‘Π»ΡΡΠΈ ΡΠ΅ ΡΠ°ΠΊΠ°, ΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Ρ PostgreSQL β Π·Π°Π½ΠΈΠΌΠ°Π²Π°ΠΌ ΡΠ΅ Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΡΡΠΊΡΡΡΠ°, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ³ΡΠ°Ρ Π½Π° DBA ΠΏΡΠ΅Π· ΡΠΈΠΊΠ΅Π½Π΄ΠΈΡΠ΅.
ΠΡΠ΅Π· ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΠΎΡ Π² ΡΠ΅Π΄ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π² Π½Π°ΡΠΈΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ java-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° , ΠΊΠΎΡΡΠΎ ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΡΠ°Π·ΠΈ ΡΠ°Π±ΠΎΡΠ°, ΡΠΏΠ΅ΡΡΡΠ²Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΠΌΠΈ ΠΈ ΠΏΠΎΠΌΠ°Π³Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½Π° Π½ΡΠΊΠΎΠΈ ΡΠΈΠΏΠΎΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, Π΄ΠΎΠΏΡΡΠΊΠ°Π½ΠΈ ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ Π·Π° ΡΠ°Π·ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ΅ ΡΡΠ°Π²Π° Π΄ΡΠΌΠ° Π΄Π½Π΅Ρ.

ΠΡΠΊΠ°Π·
ΠΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° PostgreSQL, Ρ ΠΊΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΡ, Π΅ 10. ΠΡΠΈΡΠΊΠΈ SQL Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ, ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΈ ΠΈ Π½Π° 11-ΡΠ° Π²Π΅ΡΡΠΈΡ. ΠΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° Π²Π΅ΡΡΠΈΡ Π΅ 9.6.
ΠΡΠ΅Π΄ΠΈΡΡΠΎΡΠΈΡ
ΠΡΠΈΡΠΊΠΎ Π·Π°ΠΏΠΎΡΠ½Π° ΠΏΡΠ΅Π΄ΠΈ ΠΏΠΎΡΡΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° ΡΡΡ ΡΡΡΠ°Π½Π½Π° Π·Π° ΠΌΠ΅Π½ ΡΠΈΡΡΠ°ΡΠΈΡ: ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° ΠΏΡΠ°Π·Π½ΠΎ ΠΌΡΡΡΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠΈ Ρ Π³ΡΠ΅ΡΠΊΠ°. Π‘Π°ΠΌΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΊΠ°ΠΊΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, ΠΎΡΡΠ°Π½Π° Π² Π½Π΅Π²Π°Π»ΠΈΠ΄Π½ΠΎ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ Π² Π±Π°Π·Π°ΡΠ°. ΠΠ½Π°Π»ΠΈΠ·ΡΡ Π½Π° Π»ΠΎΠ³ΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π° Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° . Π Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅β¦ ΠΠΎΠΏΠ°Π²Π°ΠΉΠΊΠΈ ΠΏΠΎ-Π΄ΡΠ»Π±ΠΎΠΊΠΎ, ΠΎΡΠΊΡΠΈΡ ΡΡΠ» ΠΊΡΠΏ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ, Π·Π°ΡΡΡΠ²Π°ΠΉΠΊΠΈ ΡΡΠΊΠ°Π²ΠΈ, Ρ Π±Π»ΡΡΡΠΊ Π² ΠΎΡΠΈΡΠ΅, Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° Π³ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΡΠΌ.
ΠΡΠΎΠ±Π»Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ Π΅Π΄Π½ΠΎ β Π΄Π΅ΡΠΎΠ»ΡΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ ΠΌΠ΅ΡΠ°ΡΠΎΡΠ°ΡΠ° Π·Π° Postgres, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΡΠ½Π°Ρ Π½Π° ΠΊΠ°ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Π°, Π²Π΅ΡΠ΅ Π΅ ΠΈΠ·ΡΠ΅ΡΠΏΠ°Π»Π° ΡΡΡΠΏΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ, Π½ΠΎβ¦ Π΄Π΅ΡΠΎΠ»ΡΠ½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π°ΠΈΡΡΠΈΠ½Π° ΠΏΠΎΡΠ°ΠΆΠ΄Π° ΡΠ΅Π΄ΠΈΡΠ° Π²ΡΠΏΡΠΎΡΠΈ. ΠΠ°ΠΊΡΠΎ ΠΈ Π΄Π° Π΅, Π·Π°ΡΠ»ΡΠΆΠ°Π²Π° Π΄Π° ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° maintenance_work_mem, temp_file_limit, statement_timeout ΠΈ lock_timeout.
Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ maintenance_work_mem Π±Π΅ΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ 64 ΠΠ΅Π³Π°Π±Π°ΠΉΡΠ°, Π° temp_file_limit Π½Π΅ΡΠΎ ΠΎΠΊΠΎΠ»ΠΎ 2 ΠΠΈΠ³Π°Π±Π°ΠΉΡΠ° β Π½ΠΈ Π»ΠΈΠΏΡΠ²Π°ΡΠ΅ ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° Π³ΠΎΠ»ΡΠΌΠ° ΡΠ°Π±Π»ΠΈΡΠ°.
ΠΠΎΡΠ°Π΄ΠΈ ΡΠΎΠ²Π° Π² pg-index-health ΡΡΠ±ΡΠ°Ρ ΡΠ΅Π΄ΠΈΡΠ° , ΠΏΠΎ ΠΌΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Ρ Π·Π° Π²ΡΡΠΊΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.
ΠΡΠΎΠ±Π»Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ Π΄Π²Π΅ β Π΄ΡΠ±Π»ΠΈΡΠ°ΡΠΈ ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
ΠΠ°ΡΠΈΡΠ΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ°Π±ΠΎΡΡΡ Π½Π° SSD Π΄ΠΈΡΠΊΠΎΠ²Π΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ HA-ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π°ΡΠ° ΡΠ΅Π½ΡΡΠΎΠ²Π΅, ΠΌΠ°ΠΉΡΡΠΎΡ Ρ ΠΎΡΡ ΠΈ n-Π±ΡΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. ΠΡΡΡΠΎΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ° Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅Π½Π΅Π½ ΡΠ΅ΡΡΡΡ Π·Π° Π½Π°Ρ; ΡΠΎ Π΅ Π½Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° CPU. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ, ΠΎΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π°, ΠΈΠΌΠ°ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° Π±ΡΡΠ·ΠΎ ΡΠ΅ΡΠ΅Π½Π΅, Π° ΠΎΡ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, Π½Π΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΠΈΠ·Π»ΠΈΡΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π² Π±Π°Π·Π°ΡΠ°, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ Π·Π°Π΅ΠΌΠ°Ρ ΠΌΡΡΡΠΎ ΠΈ Π·Π°Π±Π°Π²ΡΡ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅.
Π ΡΠ°ΠΊΠ°, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠΈΡΠΊΠΈ ΠΈ ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ , ΡΠ΅ΡΠΈΡ Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ βΠ²Π΅Π»ΠΈΠΊΠΎβ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅. ΠΠΊΠ°Π·Π° ΡΠ΅, ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π΅ ΠΎΠ±ΠΈΡΠ°Ρ Π΄Π° ΡΠ΅ΡΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΠΠ. ΠΠ½ΠΎΠ³ΠΎ Π½Π΅ ΠΎΠ±ΠΈΡΠ°Ρ. ΠΠΎΡΠ°Π΄ΠΈ ΡΠΎΠ²Π° Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ Π΄Π²Π΅ ΡΠΈΠΏΠΎΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ β ΡΡΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ Π·Π° ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ βΡΡΡΠ΅Π½β ΠΈΠ½Π΄Π΅ΠΊΡ Π·Π° ΡΠ½ΠΈΠΊΠ°Π»Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°. Π‘ΡΠ°Π²Π° Π΄ΡΠΌΠ°, ΡΠ΅ ΡΠ΅ Π½Π΅ ΡΠ° Π½ΡΠΆΠ½ΠΈ β Postgres Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ°ΠΌ. Π’Π°ΠΊΠΈΠ²Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΌΠΎΠ³Π°Ρ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π°ΡΠΈ, ΠΈ Π·Π° ΡΠΎΠ²Π° ΠΈΠΌΠ° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°. .
ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΡΠ΅ΡΠΈ β ΠΏΡΠΈΠΏΠΎΠΊΡΠΈΠ²Π°ΡΠΈ ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° Π΅Π΄Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°. ΠΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΊΠ°ΠΊ Π²ΡΡΠ²ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ°, Ρ ΠΎΡΠ°ΡΠ° Π·Π°ΠΏΠΎΡΠ²Π°Ρ Π΄Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΡΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, Π²ΠΊΠ»ΡΡΠ²Π°ΡΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π’Π°ΠΊΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ A, A+B, A+B+C ΠΈ Ρ.Π½. ΠΡΡΠ²ΠΈΡΠ΅ Π΄Π²Π° ΠΎΡ ΡΠ΅Π·ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΌΠΎΠ³Π°Ρ ΡΠΌΠ΅Π»ΠΎ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Ρ Π²ΡΡΠ»Π΅Π½ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΠ° ΠΏΡΠ΅ΡΠΈΠΊΡΠΈ Π½Π° ΡΡΠ΅ΡΠΈΡ. Π’ΠΎΠ²Π° ΡΡΡΠΎ ΡΠΏΠ΅ΡΡΡΠ²Π° Π΄ΠΎΡΡΠ° ΠΌΡΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ° ΠΈ Π·Π° ΡΠΎΠ²Π° ΠΈΠΌΠ° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°. .
ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ΡΠ²ΡΡΡΠΈ β Π²ΡΠ½ΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π±Π΅Π· ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
Postgres ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° Π²ΡΠ½ΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅ Π±Π΅Π· ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΈΠ½Π΄Π΅ΠΊΡ. Π ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ Π΄ΠΎΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ ΠΏΡΠΎΡΠ²ΠΈ... ΠΠΎ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ...
Π’Π°ΠΊΠ° Π±Π΅ΡΠ΅ ΠΈ ΠΏΡΠΈ Π½Π°Ρ: ΠΏΡΠΎΡΡΠΎ Π² Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ jobβΠ°, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ° ΡΠ΅ ΠΏΠΎ Π³ΡΠ°ΡΠΈΠΊ ΠΈ ΠΏΠΎΡΠΈΡΡΠ²Π°ΡΠ° Π±Π°Π·Π°ΡΠ° ΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΠΈ ΠΏΠΎΡΡΡΠΊΠΈ, Π·Π°ΠΏΠΎΡΠ½Π° Π΄Π° βΡΡΠ±ΠΈΡΠ°β Π½Π°ΡΠΈΡ master host. CPU ΠΈ IO Π»Π΅ΡΡΡ Π° Π½Π°Π³ΠΎΡΠ΅, Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π°Π±Π°Π²ΡΡ Π° ΠΈ ΠΏΡΠ΅ΠΊΡΡΠ²Π°Ρ Π° ΠΏΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡ, ΡΡΠ»ΡΠ³Π°ΡΠ° Π½Π΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅. ΠΡΡΠ·ΠΈΡΡ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Π°, ΡΠ΅ Π·Π°Π²ΠΈΡΠ°Ρ Π·Π°ΡΠ²ΠΊΠΈ ΠΎΡ Π²ΠΈΠ΄Π°:
ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ ΠΎΡ <table> ΠΊΡΠ΄Π΅ΡΠΎ id Π² (…)ΠΡΠΈ ΡΠΎΠ²Π° ΠΈΠ½Π΄Π΅ΠΊΡΡΡ ΠΏΠΎ id Π² ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ, Π±Π΅ΡΠ΅ Π½Π°Π»ΠΈΡΠ΅Π½, ΠΈ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π±ΡΡ Π° ΠΈΠ·ΡΡΠΈΠ²Π°Π½ΠΈ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌ ΠΌΠ°Π»ΠΊΠΎ. ΠΠ·Π³Π»Π΅ΠΆΠ΄Π°ΡΠ΅, ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ, Π½ΠΎ, ΡΠ²ΠΈ, Π½Π΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ΅.
ΠΠ° ΠΏΠΎΠΌΠΎΡ Π΄ΠΎΠΉΠ΄Π΅ ΡΡΠ΄Π΅ΡΠ½ΠΎΡΠΎ explain analyze ΠΈ ΡΠ°Π·ΠΊΠ°Π·Π°, ΡΠ΅ ΠΎΡΠ²Π΅Π½ ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ΅Π»Π΅Π²Π°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ°, ΠΎΡΠ΅ ΡΡΠ°Π²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π° ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠ½Π° ΡΡΠ»ΠΎΡΡ, ΠΈ Π½Π° Π΅Π΄Π½Π° ΠΎΡ ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ ΡΠ°Π·ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠ°Π΄Π° Π² sequential scan ΠΏΠΎΡΠ°Π΄ΠΈ Π»ΠΈΠΏΡΠ° Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ. Π’Π°ΠΊΠ° ΡΠ΅ ΡΠΎΠ΄ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°ΡΠ° .
ΠΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠ΅ΡΠΈ β null ΡΡΠΎΠΉΠ½ΠΎΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Postgres Π²ΠΊΠ»ΡΡΠ²Π° null ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π² btree-ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, Π½ΠΎ ΡΠ΅ ΡΠ°ΠΌ, ΠΊΠ°ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΡΠ° Π½ΡΠΆΠ½ΠΈ. ΠΠ°ΡΠΎΠ²Π° ΡΡΡΡΠ΄Π½ΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°ΠΌ Π΄Π° ΠΈΠ·Ρ
Π²ΡΡΠ»ΡΠΌ ΡΠ΅Π·ΠΈ null-ΠΎΠ²Π΅ (Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ), ΡΡΠ·Π΄Π°Π²Π°ΠΉΠΊΠΈ ΡΠ°ΡΡΠΈΡΠ½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π½Π° nullable-ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΏΠΎ ΡΠΈΠΏ where is not null. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΡΠΏΡΡ
Π΄Π° Π½Π°ΠΌΠ°Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΎΡ 1877 ΠΠ±Π°ΠΉΡΠ° Π½Π° 16 ΠΠ±Π°ΠΉΡΠ°. Π Π² Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΠ Π½Π°ΠΌΠ°Π»Ρ ΠΎΠ±ΡΠΎ Ρ 16% (Ρ 4.3 ΠΠ±Π°ΠΉΡΠ° Π² Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΈ ΡΠΈΡΡΠΈ) Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° null ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅. ΠΠ³ΡΠΎΠΌΠ½Π° ΠΈΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΏΡΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΏΠΎΠΏΡΠ°Π²ΠΊΠΈ. π
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΡ β Π»ΠΈΠΏΡΠ° Π½Π° ΠΏΡΡΠ²ΠΈΡΠ½ΠΈ ΠΊΠ»ΡΡΠΎΠ²Π΅
Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ ΡΠ°ΠΊΠ°Π²Π° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠ°ΡΠΎ , ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Π±ΡΡΠ·ΠΎ ΡΠ°ΡΡΠ΅ Π·Π°ΡΠ°Π΄ΠΈ Π³ΠΎΠ»ΡΠΌΠΎΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΡΡΡΠ²ΠΈ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ°ΠΈΠ²Π½ΠΎ ΡΠΈ ΠΌΠΈΡΠ»Π΅Ρ , ΡΠ΅ Π½ΠΈΠ΅ ΡΠΌΠ΅ Π·Π°ΡΡΡΠ°Ρ ΠΎΠ²Π°Π½ΠΈ ΠΎΡ ΡΠΎΠ²Π°, ΠΈ ΡΠ΅ Ρ Π½Π°ΡΠ°ΡΠ° Π±Π°Π·Π° ΡΠ°ΠΊΠΎΠ²Π° Π½Π΅ΡΠΎ Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ ΡΠ»ΡΡΠΈ, Π·Π°ΡΠΎΡΠΎ Π½ΠΈΠ΅, ΠΎΡ ΠΎ-Ρ ΠΎ!!!, ΡΠΌΠ΅ Π½ΠΎΡΠΌΠ°Π»Π½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈβ¦ ΠΠΎΠ»ΠΊΠΎ Π³Π»ΡΠΏΠ°Π² ΠΈ Π½Π°ΠΈΠ²Π΅Π½ Π±ΡΡ β¦
Π Π΅Π΄ΠΈΠ½ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ Π΄Π΅Π½, Π΅Π΄Π½Π° ΡΡΠ΄Π΅ΡΠ½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°. ΠΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ +100 ΠΠ±Π°ΠΉΡΠ° ΡΠ°Π·ΠΌΠ΅Ρ Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° ΠΎΡ Π½ΠΈΡΠΎΡΠΎ. ΠΠ΅ΡΠ΅ ΡΠΆΠ°ΡΠ½ΠΎ ΡΠ°Π·ΠΎΡΠ°ΡΠΎΠ²Π°ΡΠΎ, Π½ΠΎ Π½Π°ΡΠΈΡΠ΅ Π·Π»ΠΎΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΏΡΠΈΠΊΠ»ΡΡΠΈΡ Π° ΡΡΠΊ. Π‘Π»Π΅Π΄ 15 ΡΠ°ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ Π°Π²ΡΠΎΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΠΏΡΠΈΠΊΠ»ΡΡΠΈ, ΡΡΠ°Π½Π° ΡΡΠ½ΠΎ, ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π½ΡΠΌΠ° Π΄Π° ΡΠ΅ Π²ΡΡΠ½Π΅. ΠΠ΅ ΠΌΠΎΠΆΠ°Ρ ΠΌΠ΅ Π΄Π° ΡΠΏΡΠ΅ΠΌ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ VACUUM FULL, Π·Π°ΡΠΎΠ²Π° Π±Π΅ΡΠ΅ Π²Π·Π΅ΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° . Π ΡΡΠΊ ΡΠ΅ ΠΎΠΊΠ°Π·Π°, ΡΠ΅ pg_repack Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΡΠ°Π±Π»ΠΈΡΠΈ Π±Π΅Π· ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π° ΡΠ½ΠΈΠΊΠ°Π»Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎΡΡ, Π° Π² Π½Π°ΡΠ°ΡΠ° ΡΠ°Π±Π»ΠΈΡΠ° Π½ΡΠΌΠ°ΡΠ΅ ΠΏΡΡΠ²ΠΈΡΠ΅Π½ ΠΊΠ»ΡΡ. Π’Π°ΠΊΠ° ΡΠ΅ ΡΠΎΠ΄ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°ΡΠ° .
Π Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° 0.1.5 Π±Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΡΠ±ΠΈΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΠΎ bloat Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΠΈ ΡΠ²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅Π³ΠΎ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ΅Π΄Π΅ΠΌ ΠΈ ΠΎΡΠ΅ΠΌ β Π½Π΅Π΄ΠΎΡΡΠΈΠ³ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΈ Π½Π΅ΡΠΏΠΎΡΡΠ΅Π±ΡΠ²Π°Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
ΠΠ²Π΅ ΡΠ»Π΅Π΄Π²Π°ΡΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ β ΠΈ β Π² ΡΡΡ Π½Π°ΡΠ° ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½Π° ΡΠΎΡΠΌΠ° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡ Π° ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠΊΠΎΡΠΎ. Π€Π°ΠΊΡΡΡ Π΅, ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ.
ΠΠ°ΠΊΡΠΎ Π²Π΅ΡΠ΅ ΠΏΠΈΡΠ°Ρ , Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ Π΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΏΡΠΈ ΠΊΠΎΡΡΠΎ Π½ΡΠΊΠΎΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π½Π° Π½ΡΠΊΠΎΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ, ΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ·Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΡΠ±ΠΈΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½ΡΠ»ΠΈΡΠ° Π½Π° Π²ΡΠ΅ΠΊΠΈ Ρ ΠΎΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ°, Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠ°ΠΌΠΎ Π½Π° ΠΌΠ°ΡΡΠ΅ΡΠ°.
Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΡΠΏΠ΅ΡΡΠΈΠΌ Π΄Π΅ΡΠ΅ΡΠΊΠΈ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠΈ ΡΡΠ΅Π· ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½Π΅ ΡΠ° Π±ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ, ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π»ΠΈΠΏΡΠ²Π°ΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° ΡΡΠ΄ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ . ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ Π±ΡΡΠ·ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π°ΠΉΠΊΠΈ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° Π½ΠΎΠ²ΠΈ Π³ΡΠ΅ΡΠΊΠΈ, Π° ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅.
Π§Π°ΡΡ ΠΎΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ Π²Π΅ΡΠ΅ Π²ΡΠ² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎΠ²Π΅ Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π½Π° ΠΠ. Π ΡΠΎΠ²Π°, ΠΌΠΎΠΆΠ΅ Π±ΠΈ, Π΅ Π΅Π΄Π½Π° ΠΎΡ Π½Π°ΠΉ-ΡΠΈΠ»Π½ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΠΌΠΎΡΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π² .
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π° Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·Π²Π°Π½ΠΈ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΠ²Π°ΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π·Π° Π±Π»ΠΎΠ°Ρ, ΠΈΠΌΠ° ΡΠΌΠΈΡΡΠ» Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ Π½Π° ΡΠ΅Π°Π»Π½Π° ΠΠ. Π‘ΡΠ±ΡΠ°Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈ Π² ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³.
ΠΠ½ΠΎΠ³ΠΎ ΡΠ΅ Π½Π°Π΄ΡΠ²Π°ΠΌ, ΡΠ΅ pg-index-health ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΈ ΡΡΡΡΠ΅Π½Π°. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° Π΄ΠΎΠΏΡΠΈΠ½Π΅ΡΠ΅ΡΠ΅ Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°, ΠΊΠ°ΡΠΎ Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°ΡΠ΅ Π·Π° ΠΎΡΠΊΡΠΈΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ΅ Π½ΠΎΠ²ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
