ΠΡΠΈΠ²Π΅Ρ.
ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ°Π½Ρ, ΠΈ Ρ Java-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ. Π’Π°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ Ρ PostgreSQL β Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΠ, ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ³ΡΠ°Ρ Π² DBA ΠΏΠΎ Π²ΡΡ ΠΎΠ΄Π½ΡΠΌ.
ΠΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ ΠΏΡΠΈΠ²ΡΠ» Π² ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
Π² Π½Π°ΡΠΈΡ
ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°Ρ
ΠΈ Π½Π°ΠΏΠΈΡΠ°Π» java-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
Disclaimer
ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π²Π΅ΡΡΠΈΡ 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. ΠΠΎΡΡΠΎΠΌΡ, Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ, Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΌΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΡΡ Π² ΠΠ Π»ΠΈΡΠ½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠΆΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΡΠΎ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
Π Π²ΠΎΡ, Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π²ΡΠ΅
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΡΠ΅ΡΡΡ β ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΠ΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ»Π±Π΅Ρ. ΠΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΠΏΡΠΎΠ±ΠΎΠ²Π°Π² ΡΡΠΎ Π΄Π΅Π»ΠΎ Π½Π° Π²ΠΊΡΡ, Π»ΡΠ΄ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ΅Π±Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ². Π’Π°ΠΊ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΡΡΠΎΠ»Π±ΡΡ A, A+B, A+B+C ΠΈ Ρ.ΠΏ. ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΠΈΠ· ΡΡΠΈΡ
ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π»ΠΎ Π²ΡΠΊΠΈΠ½ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠ°ΠΌΠΈ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ. ΠΡΠΎ ΡΠΎΠΆΠ΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ²Π΅ΡΡΠ°Ρ β Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠ»ΡΡΠΈ Π±Π΅Π· ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²
Postgres ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»ΡΡΠ° Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ, ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π±Ρ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΏΡΠΎΡΠ²Π»ΡΡΡβ¦ ΠΠΎ ΠΏΠΎΡΡ Π΄ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈβ¦
Π’Π°ΠΊ Π±ΡΠ»ΠΎ ΠΈ Ρ Π½Π°Ρ: ΠΏΡΠΎΡΡΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ jobβΠ°, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠ°ΡΡΡ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΎΡΠΈΡΠ°ΡΡΠ°Ρ Π±Π°Π·Ρ ΠΎΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π·Π°ΠΊΠ°Π·ΠΎΠ², ΡΡΠ°Π»Π° Β«ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΒ» Π½Π°ΠΌ ΠΌΠ°ΡΡΠ΅Ρ Ρ
ΠΎΡΡ. CPU ΠΈ IO ΡΠ»Π΅ΡΠ°Π»ΠΈ Π² ΠΏΠΎΠ»ΠΊΡ, Π·Π°ΠΏΡΠΎΡΡ ΡΠΎΡΠΌΠΎΠ·ΠΈΠ»ΠΈ ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π»ΠΈΡΡ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ°ΡΡΡ, ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΡΠΈΡΠΎΡΠΈΠ». ΠΡΡΡΡΡΠΉ Π°Π½Π°Π»ΠΈΠ·
delete from <table> where id in (β¦)
ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ id Π² ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅, Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, Π±ΡΠ», ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠ΄Π°Π»ΡΠ»ΠΎΡΡ ΠΏΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ Π²ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π½ΠΎ, ΡΠ²Ρ, Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ.
ΠΠ° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡΡΠ» ΡΡΠ΄Π΅ΡΠ½ΡΠΉ explain analyze ΠΈ ΡΠ°ΡΡΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅, Π΅ΡΡ ΠΈΠ΄ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ»ΠΎΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ, ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΡΠ°Π±Π»ΠΈΡ ΡΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ²Π°Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² sequential scan ΠΈΠ·-Π·Π° ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°. Π’Π°ΠΊ ΡΠΎΠ΄ΠΈΠ»Π°ΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΡΠ°Ρ β null value Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Postgres Π²ΠΊΠ»ΡΡΠ°Π΅Ρ null Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² btree-ΠΈΠ½Π΄Π΅ΠΊΡΡ, Π½ΠΎ ΠΎΠ½ΠΈ ΡΠ°ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ Π½ΡΠΆΠ½Ρ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΡΠ΅ΡΠ΄Π½ΠΎ ΡΡΠ°ΡΠ°ΡΡΡ ΡΡΠΈ nullβΡ Π²ΡΠΊΠΈΠ΄ΡΠ²Π°ΡΡ (Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° where <A> is not null
. Π’Π°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΌΠ½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½Π°ΡΠΈΡ
ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Ρ 1877 ΠΠ±Π°ΠΉΡ Π΄ΠΎ 16 ΠΠ±Π°ΠΉΡ. Π Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΡΠ°Π·ΠΌΠ΅Ρ ΠΠ ΡΡΠΌΠΌΠ°ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΠ»ΡΡ Π½Π° 16% (Π½Π° 4.3 ΠΠΠ°ΠΉΡ Π² Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ
ΡΠΈΡΡΠ°Ρ
) Π·Π° ΡΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ null Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². ΠΠΎΠ»ΠΎΡΡΠ°Π»ΡΠ½Π°Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΡΠΈ Π²Π΅ΡΡΠΌΠ° Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΡ
Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ°Ρ
. π
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΡΠ°Ρ β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ
Π ΡΠΈΠ»Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°
Π ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ Π΄Π΅Π½Ρ ΠΎΠ΄Π½Π° ΡΡΠ΄Π΅ΡΠ½Π°Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π²Π·ΡΠ»Π° ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»Π° Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉΡΡ ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ +100 ΠΠ±Π°ΠΉΡ ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π½Π° ΡΠΎΠ²Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅. ΠΡΠ»ΠΎ ΡΠ΅ΡΡΠΎΠ²ΡΠΊΠΈ ΠΎΠ±ΠΈΠ΄Π½ΠΎ, Π½ΠΎ Π½Π°ΡΠΈ Π·Π»ΠΎΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠΌ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈΡΡ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π· 15 ΡΠ°ΡΠΎΠ² Π·Π°Π²Π΅ΡΡΠΈΠ»ΡΡ Π°Π²ΡΠΎΠ²Π°ΠΊΡΡΠΌ Π½Π° ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅, ΡΡΠ°Π»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π΅ Π²Π΅ΡΠ½ΡΡΡΡ. ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ VACUUM FULL ΠΌΡ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Π Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ 0.1.5 Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ bloatβΡ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ ΡΠ²ΠΎΠ΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π΅Π³ΠΎ.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅ΠΌΡ ΠΈ Π²ΠΎΡΠ΅ΠΌΡ β Π½Π΅Ρ Π²Π°ΡΠΊΠ° ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ
ΠΠ²Π΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ β
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π», ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠΈ, ΠΈ ΡΠΈΡΠ°ΡΡΠ°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ°Π·Π½ΡΡ
Ρ
ΠΎΡΡΠ°Ρ
ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π½Π°Ρ. Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, ΡΡΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΠΊΠ°ΠΊΠΈΡ
-ΡΠΎ Ρ
ΠΎΡΡΠ°Ρ
ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠΎ Π²ΡΠ΅Ρ
Ρ
ΠΎΡΡΠΎΠ² Π² ΠΊΠ»Π°ΡΡΠ΅ΡΠ΅.
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» Π½Π°ΠΌ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π΅ΡΡΡΠΊΠΎΠ² Π³ΠΈΠ³Π°Π±Π°ΠΉΡ Π·Π° ΡΡΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ
Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ
Π§Π°ΡΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊ ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΆΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ
ΡΠ΅ΡΡΠ°Ρ
ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΊΠ°ΡΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ ΠΠ. Π ΡΡΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ
ΠΌΠΎΡΠ½ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΌΠΎΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²
ΠΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° bloat, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΠ. Π‘ΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π²
Π― ΠΎΡΠ΅Π½Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ pg-index-health Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΈ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π°. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΎΠΎΠ±ΡΠ°Ρ ΠΎΠ± ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π½ΠΎΠ²ΡΠ΅ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com