ΠΡ.
ΠΠΎΠ΅ΡΠΎ ΠΈΠΌΠ΅ Π΅ ΠΠ°ΡΠ° ΠΈ ΡΠ°Ρ ΡΡΠΌ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π½Π° Java. Π‘Π΅ ΡΠ»ΡΡΡΠ²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠ°ΠΌ ΠΌΠ½ΠΎΠ³Ρ ΡΠΎ PostgreSQL - ΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°, ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΈ ΠΈΠ³ΡΠ°ΡΠ΅ ΠΌΠ°Π»ΠΊΡ DBA Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π²ΠΈΠΊΠ΅Π½Π΄ΠΈΡΠ΅.
ΠΠ΅ΠΎΠ΄Π°ΠΌΠ½Π° ΡΡΠ΅Π΄ΠΈΠ² Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π½Π°ΡΠΈΡΠ΅ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΈ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π² java Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°
ΠΠΏΡΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈ
ΠΠ»Π°Π²Π½Π°ΡΠ° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° PostgreSQL ΡΠΎ ΠΊΠΎΡΠ° ΡΠ°Π±ΠΎΡΠ°ΠΌ Π΅ 10. Π‘ΠΈΡΠ΅ SQL ΠΏΡΠ°ΡΠ°ΡΠ° ΡΡΠΎ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠ°ΠΌ ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠ°Π°Ρ ΠΈ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° 11. ΠΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΠΆΠ°Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π΅ 9.6.
ΠΏΡΠ°ΠΈΡΡΠΎΡΠΈΡΠ°ΡΠ°
Π‘Γ¨ Π·Π°ΠΏΠΎΡΠ½Π° ΠΏΡΠ΅Π΄ ΡΠ΅ΡΠΈΡΠΈ Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π° ΡΠΎ ΡΠΈΡΡΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ° ΠΌΠΈ Π±Π΅ΡΠ΅ ΡΡΠ΄Π½Π°: ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΠΎ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΠ΄ Π²Π΅Π΄ΡΠΎ Π½Π΅Π±ΠΎ Π·Π°Π²ΡΡΠΈ ΡΠΎ Π³ΡΠ΅ΡΠΊΠ°. Π‘Π°ΠΌΠΈΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΎΠ±ΠΈΡΠ½ΠΎ, ΠΎΡΡΠ°Π½Π° Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ Π²ΠΎ Π½Π΅Π²Π°ΠΆΠ΅ΡΠΊΠ° ΡΠΎΡΡΠΎΡΠ±Π°. ΠΠ½Π°Π»ΠΈΠ·Π°ΡΠ° Π½Π° Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ° Π½Π΅Π΄ΠΎΡΡΠΈΠ³
ΠΡΠΎΠ±Π»Π΅ΠΌ Π΅Π΄Π΅Π½ - ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°
ΠΠ΅ΡΠΎΡΠ°ΡΠ½ΠΎ ΡΠΈΡΠ΅ ΡΠ΅ ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΎ ΡΠΌΠΎΡΠ½ΠΈ ΠΎΠ΄ ΠΌΠ΅ΡΠ°ΡΠΎΡΠ°ΡΠ° Π·Π° Postgres, ΠΊΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π½Π° ΠΊΠ°ΡΠ΅ΠΌΠ°Ρ, Π½ΠΎ... ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° Π½Π°Π²ΠΈΡΡΠΈΠ½Π° ΠΏΠΎΠΊΡΠ΅Π½ΡΠ²Π° Π³ΠΎΠ»Π΅ΠΌ Π±ΡΠΎΡ ΠΏΡΠ°ΡΠ°ΡΠ°. ΠΠ°ΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π²ΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ½Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅_ΡΠ°Π±ΠΎΡΠ°_ΠΌΠ΅ΠΌ, temp_file_limit, ΠΈΠ·ΡΠ°Π²Π°_Π²ΡΠ΅ΠΌΠ΅ ΠΈ lock_timeout.
ΠΠΎ Π½Π°ΡΠΈΠΎΡ ΡΠ»ΡΡΠ°Ρ ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅_ΡΠ°Π±ΠΎΡΠ°_ΠΌΠ΅ΠΌ Π±Π΅ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ 64 MB, ΠΈ temp_file_limit Π½Π΅ΡΡΠΎ ΠΎΠΊΠΎΠ»Ρ 2 GB - Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π½Π΅ΠΌΠ°Π²ΠΌΠ΅ Π΄ΠΎΠ²ΠΎΠ»Π½ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ° Π·Π° Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ΠΌΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠ° ΠΌΠ°ΡΠ°.
ΠΠ°ΡΠΎΠ°, Π²ΠΎ ΡΡΡ-ΠΈΠ½Π΄Π΅ΠΊΡ-Π·Π΄ΡΠ°Π²ΡΠ΅ Π‘ΠΎΠ±ΡΠ°Π² ΡΠ΅ΡΠΈΡΠ°
ΠΡΠΎΠ±Π»Π΅ΠΌ Π΄Π²Π° - Π΄ΡΠΏΠ»ΠΈΠΊΠ°Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
ΠΠ°ΡΠΈΡΠ΅ Π±Π°Π·ΠΈ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΆΠΈΠ²Π΅Π°Ρ Π½Π° SSD-Π΄ΠΈΡΠΊΠΎΠ²ΠΈ, Π° Π½ΠΈΠ΅ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ HA-ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΠ΅Π½ΡΡΠΈ Π·Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π³Π»Π°Π²Π΅Π½ Ρ ΠΎΡΡ ΠΈ n-Π±ΡΠΎΡ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. ΠΡΠΎΡΡΠΎΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ Π΅ ΠΌΠ½ΠΎΠ³Ρ Π²ΡΠ΅Π΄Π΅Π½ ΡΠ΅ΡΡΡΡ Π·Π° Π½Π°Ρ; ΡΠΎΠ° Π½Π΅ Π΅ ΠΏΠΎΠΌΠ°Π»ΠΊΡ Π²Π°ΠΆΠ½ΠΎ ΠΎΠ΄ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈΡΠ΅ ΠΈ ΠΏΠΎΡΡΠΎΡΡΠ²Π°ΡΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΎΡ. ΠΠ°ΡΠΎΠ°, ΠΎΠ΄ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π°, Π½ΠΈ ΡΡΠ΅Π±Π°Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π·Π° Π±ΡΠ·ΠΎ ΡΠΈΡΠ°ΡΠ΅, Π° ΠΎΠ΄ Π΄ΡΡΠ³Π° ΡΡΡΠ°Π½Π°, Π½Π΅ ΡΠ°ΠΊΠ°ΠΌΠ΅ Π΄Π° Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π²ΠΎ Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠΈΠ΅ ΡΠ°Π΄Π°Ρ ΠΏΡΠΎΡΡΠΎΡ ΠΈ Π³ΠΎ Π·Π°Π±Π°Π²ΡΠ²Π°Π°Ρ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅.
Π ΡΠ΅Π³Π°, ΠΎΡΠΊΠ°ΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈ ΡΓ¨
ΠΠ°Π΄Π°ΡΠ° ΡΡΠ΅Ρ - ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ Π²ΠΊΡΡΡΡΠ²Π°Π°Ρ
ΠΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈ ΠΏΠΎΡΠ΅ΡΠ½ΠΈΡΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π½Π° Π΅Π΄Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°. ΠΠΎΡΡΠ΅ΠΏΠ΅Π½ΠΎ, ΠΎΡΠΊΠ°ΠΊΠΎ ΡΠ΅ΠΌΠ΅Π»Π½ΠΎ Π³ΠΎ ΠΈΡΠΊΡΡΠΈΠ»Π΅ ΠΎΠ²ΠΎΡ Π±ΠΈΠ·Π½ΠΈΡ, Π»ΡΡΠ΅ΡΠΎ ΠΏΠΎΡΠ½ΡΠ²Π°Π°Ρ Π΄Π° Π³ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π°Ρ ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠ°ΡΠ°ΡΠ° ΠΈ Π΄Π° Π΄ΠΎΠ΄Π°Π²Π°Π°Ρ ΠΏΠΎΡΠ»ΠΎΠΆΠ΅Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΊΠΎΠΈ Π²ΠΊΠ»ΡΡΡΠ²Π°Π°Ρ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. ΠΠ°ΠΊΠ° ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π°Π°Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈΡΠ΅ A, Π + Π, Π+Π+Π¦ ΠΈ ΡΠ°ΠΊΠ° Π½Π°ΡΠ°ΠΌΡ. ΠΡΠ²ΠΈΡΠ΅ Π΄Π²Π° ΠΎΠ΄ ΠΎΠ²ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΌΠΎΠΆΠ°Ρ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΈΡΡΡΠ»Π°Ρ, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΡΠΈΠ΅ ΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠΈ Π½Π° ΡΡΠ΅ΡΠΈΠΎΡ. ΠΠ²Π° ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π·Π°ΡΡΠ΅Π΄ΡΠ²Π° ΠΌΠ½ΠΎΠ³Ρ ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ ΠΈ ΠΈΠΌΠ° Π΄ΠΈΡΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π·Π° ΠΎΠ²Π°
ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ΡΠΈΡΠΈ - ΡΡΡΠ°Π½ΡΠΊΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΈ Π±Π΅Π· ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
Postgres Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΡΠ²Π°ΡΠ° Π·Π° ΡΡΡΠ°Π½ΡΠΊΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΈ Π±Π΅Π· Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ°. ΠΠΎ ΠΌΠ½ΠΎΠ³Ρ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΡΠΎΠ° Π½Π΅ Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π° ΠΌΠΎΠΆΠ΅Π±ΠΈ ΠΈ Π½Π΅ ΡΠ΅ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈΡΠ°... ΠΠ°ΡΠ΅Π³Π°...
Π’Π°ΠΊΠ° Π±Π΅ΡΠ΅ ΠΈ ΡΠΎ Π½Π°Ρ: Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ Π²ΠΎ ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, ΡΠ°Π±ΠΎΡΠ°ΡΠ°, ΠΊΠΎΡΠ° ΡΠ°Π±ΠΎΡΠΈ ΡΠΏΠΎΡΠ΅Π΄ ΡΠ°ΡΠΏΠΎΡΠ΅Π΄ΠΎΡ ΠΈ ΡΠ° ΡΠΈΡΡΠΈ Π±Π°Π·Π°ΡΠ° Π½Π° Π½Π°ΡΠ°ΡΠΊΠΈ Π·Π° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅, ΠΏΠΎΡΠ½Π° Π΄Π° Π½ΠΈ βΠ΄ΠΎΠ΄Π°Π²Π°β ΠΎΠ΄ Π³Π»Π°Π²Π½ΠΈΠΎΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½. ΠΡΠΎΡΠ΅ΡΠΎΡΠΎΡ ΠΈ IO ΠΎΡΠΈΠ΄ΠΎΠ° Π½Π° ΠΎΡΠΏΠ°Π΄, Π±Π°ΡΠ°ΡΠ°ΡΠ° Π·Π°Π±Π°Π²ΠΈΡΠ° ΠΈ Π±Π΅Π° ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈ, ΡΡΠ»ΡΠ³Π°ΡΠ° Π±Π΅ΡΠ΅ ΠΏΠ΅ΡΡΡΠΎΡΠΈΠ½ΠΈ. ΠΡΠ·Π° Π°Π½Π°Π»ΠΈΠ·Π°
delete from <table> where id in (β¦)
ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°, ΠΈΠΌΠ°ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ id Π²ΠΎ ΡΠ΅Π»Π½Π°ΡΠ° ΡΠ°Π±Π΅Π»Π° ΠΈ ΠΌΠ½ΠΎΠ³Ρ ΠΌΠ°Π»ΠΊΡ Π·Π°ΠΏΠΈΡΠΈ Π±Π΅Π° ΠΈΠ·Π±ΡΠΈΡΠ°Π½ΠΈ ΡΠΏΠΎΡΠ΅Π΄ ΡΡΠ»ΠΎΠ²ΠΎΡ. Π‘Π΅ ΡΠΈΠ½Π΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΡΓ¨ ΡΡΠ΅Π±Π° Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ°, Π½ΠΎ, Π·Π° ΠΆΠ°Π», ΡΠΎΠ° Π½Π΅ Π±Π΅ΡΠ΅.
ΠΠ° ΠΏΠΎΠΌΠΎΡ Π΄ΠΎΡΠ΄Π΅ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΈΠΎΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΈ ΡΠ΅ΡΠ΅ Π΄Π΅ΠΊΠ° ΠΏΠΎΠΊΡΠ°Ρ Π±ΡΠΈΡΠ΅ΡΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π²ΠΎ ΡΠ΅Π»Π½Π°ΡΠ° ΡΠ°Π±Π΅Π»Π°, ΠΏΠΎΡΡΠΎΠΈ ΠΈ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΡΠ°Π»Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠΎΡ, Π° Π½Π° Π΅Π΄Π½Π° ΠΎΠ΄ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈΡΠ΅ ΡΠ°Π±Π΅Π»ΠΈ ΠΎΠ²Π°Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π΅ ΡΡΠΏΠ΅Π²Π° ΡΠ΅ΠΊΠ²Π΅Π½ΡΠΈΡΠ°Π»Π½ΠΎ ΡΠΊΠ΅Π½ΠΈΡΠ°ΡΠ΅ ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΌΠ°ΡΠ΅ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ. Π’Π°ΠΊΠ° ΡΠ΅ ΡΠΎΠ΄ΠΈ Π΄ΠΈΡΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°
ΠΠ°Π΄Π°ΡΠ° ΠΏΠ΅Ρ β Π½ΡΠ»ΡΠ° Π²ΡΠ΅Π΄Π½ΠΎΡΡ Π²ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅
Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΎ, Postgres Π²ΠΊΠ»ΡΡΡΠ²Π° Π½ΡΠ»Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ Π²ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ btree, Π½ΠΎ ΡΠΈΠ΅ ΠΎΠ±ΠΈΡΠ½ΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΡΠ°ΠΌΡ. ΠΠ°ΡΠΎΠ°, Π²ΡΠ΅Π΄Π½ΠΎ ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΡΠ²Π°ΠΌ Π΄Π° Π³ΠΈ ΠΈΡΡΡΠ»Π°ΠΌ ΠΎΠ²ΠΈΠ΅ Π½ΡΠ»Π° (Π΄ΠΈΡΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° where <A> is not null
. ΠΠ° ΠΎΠ²ΠΎΡ Π½Π°ΡΠΈΠ½ ΡΡΠΏΠ΅Π°Π² Π΄Π° ΡΠ° Π½Π°ΠΌΠ°Π»Π°ΠΌ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° Π΅Π΄Π΅Π½ ΠΎΠ΄ Π½Π°ΡΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΎΠ΄ 1877 MB Π½Π° 16 KB. Π Π²ΠΎ Π΅Π΄Π½Π° ΠΎΠ΄ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π²ΠΊΡΠΏΠ½ΠΎ Π·Π° 16% (Π·Π° 4.3 GB Π²ΠΎ Π°ΠΏΡΠΎΠ»ΡΡΠ½ΠΈ Π±ΡΠΎΡΠΊΠΈ) ΠΏΠΎΡΠ°Π΄ΠΈ ΠΈΡΠΊΠ»ΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π½ΡΠ»Π° Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΎΠ΄ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅. ΠΠ³ΡΠΎΠΌΠ½ΠΈ Π·Π°ΡΡΠ΅Π΄ΠΈ Π²ΠΎ ΠΏΡΠΎΡΡΠΎΡ Π½Π° Π΄ΠΈΡΠΊΠΎΡ ΡΠΎ ΠΌΠ½ΠΎΠ³Ρ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. π
ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ΡΡ β Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π½Π° ΠΏΡΠΈΠΌΠ°ΡΠ½ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΈ
ΠΠΎΡΠ°Π΄ΠΈ ΠΏΡΠΈΡΠΎΠ΄Π°ΡΠ° Π½Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΡ
ΠΠ΄Π΅Π½ Π΄Π΅Π½, Π΅Π΄Π½Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΠ° Π³ΠΈ Π·Π΅Π΄Π΅ ΠΈ Π³ΠΈ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΡΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΎ Π³ΠΎΠ»Π΅ΠΌΠ° ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π½Π° ΡΠ°Π±Π΅Π»Π°. ΠΠΎΠ±ΠΈΠ²ΠΌΠ΅ +100 GB Π΄ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°Π±Π΅Π»Π°ΡΠ° ΠΎΠ΄ Π²Π΅Π΄ΡΠΎ Π½Π΅Π±ΠΎ. ΠΠ΅ΡΠ΅ ΠΏΡΠΎΠΊΠ»Π΅ΡΠΎ ΡΡΠ°ΠΌ, Π½ΠΎ Π½Π°ΡΠΈΡΠ΅ Π½Π΅ΡΡΠ΅ΡΠΈ Π½Π΅ Π·Π°Π²ΡΡΠΈΡΠ° ΡΡΠΊΠ°. ΠΡΠΊΠ°ΠΊΠΎ Π°Π²ΡΠΎΠ²Π°ΠΊΡΡΠΌΠΎΡ Π½Π° ΠΎΠ²Π°Π° ΠΌΠ°ΡΠ° Π·Π°Π²ΡΡΠΈ 15 ΡΠ°ΡΠ° ΠΏΠΎΠ΄ΠΎΡΠ½Π°, ΡΡΠ°Π½Π° ΡΠ°ΡΠ½ΠΎ Π΄Π΅ΠΊΠ° ΡΠΈΠ·ΠΈΡΠΊΠ°ΡΠ° Π»ΠΎΠΊΠ°ΡΠΈΡΠ° Π½Π΅ΠΌΠ° Π΄Π° ΡΠ΅ Π²ΡΠ°ΡΠΈ. ΠΠ΅ ΠΌΠΎΠΆΠ΅Π²ΠΌΠ΅ Π΄Π° ΡΠ° ΠΏΡΠ΅ΠΊΠΈΠ½Π΅ΠΌΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌΠ΅ ΠΠΠΠ£Π£ΠΠΠ’ ΠΠΠΠ, ΠΏΠ° ΡΠ΅ΡΠΈΠ²ΠΌΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅
ΠΠΎ Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° 0.1.5 Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠ° Π΄Π° ΡΠ΅ ΡΠΎΠ±ΠΈΡΠ°Π°Ρ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ ΠΎΠ΄ Π½Π°Π΄ΡΠ΅Π½ΠΎΡΡΠ° Π½Π° ΡΠ°Π±Π΅Π»ΠΈΡΠ΅ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΠΈ Π½Π°Π²ΡΠ΅ΠΌΠ΅Π½ΠΎ Π΄Π° ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π½ΠΈΠ² Π΅ Π΄ΠΎΠ΄Π°Π΄Π΅Π½Π°.
ΠΠ°Π΄Π°ΡΠΈ ΡΠ΅Π΄ΠΌΠΈ ΠΈ ΠΎΡΠΌΠΈ - Π½Π΅Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΈ Π½Π΅ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ
Π‘Π»Π΅Π΄Π½ΠΈΠ²Π΅ Π΄Π²Π΅ Π΄ΠΈΡΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΡΠ΅:
ΠΠ°ΠΊΠΎ ΡΡΠΎ Π²Π΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π², ΠΊΠΎΡΠΈΡΡΠΈΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ° ΡΠΎ Π½Π΅ΠΊΠΎΠ»ΠΊΡ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ, Π° ΠΎΠΏΡΠΎΠ²Π°ΡΡΠ²Π°ΡΠ΅ΡΠΎ Π·Π° ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ
ΠΎΡΡΠΎΠ²ΠΈ Π΅ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ. ΠΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ°, ΡΠΈΡΡΠ°ΡΠΈΡΠ°ΡΠ° ΠΈΠ·Π»Π΅Π³ΡΠ²Π° Π΄Π΅ΠΊΠ° Π½Π΅ΠΊΠΎΠΈ ΡΠ°Π±Π΅Π»ΠΈ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ Π½Π° Π½Π΅ΠΊΠΎΠΈ Ρ
ΠΎΡΡΠΎΠ²ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΠΎ Π½Π΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ, Π° Π·Π° Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ΅Π±Π° Π΄Π° ΡΠΎΠ±Π΅ΡΠ΅ΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΎΠ΄ ΡΠΈΡΠ΅ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ΠΈ Π²ΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΡ.
ΠΠ²ΠΎΡ ΠΏΡΠΈΡΡΠ°ΠΏ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π΄Π° Π·Π°ΡΡΠ΅Π΄ΠΈΠΌΠ΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π΄Π΅ΡΠ΅ΡΠΈΡΠΈ Π³ΠΈΠ³Π°Π±Π°ΡΡΠΈ ΡΠΎ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΠΊΠΎΠΈ Π½ΠΈΠΊΠΎΠ³Π°Ρ Π½Π΅ Π±ΠΈΠ»Π΅ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ ΡΡΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΠ²Π°Π°Ρ Π½Π° ΡΠ΅ΡΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈΡΠ΅ ΡΠ°Π±Π΅Π»ΠΈ.
ΠΠ°ΠΊΠΎ Π·Π°ΠΊΠ»ΡΡΠΎΠΊ
Π‘Π΅ ΡΠ°Π·Π±ΠΈΡΠ°, Π·Π° ΡΠ΅ΡΠΈΡΠΈ ΡΠΈΡΠ΅ Π΄ΠΈΡΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅
ΠΠ΅ΠΊΠΎΠΈ Π΄ΠΈΡΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·Π²Π΅Π΄Π°Ρ Π²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈ Π²Π΅Π΄Π½Π°Ρ ΠΏΠΎ ΠΎΠ±ΡΠ°Π²ΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π ΠΎΠ²Π° Π΅ ΠΌΠΎΠΆΠ΅Π±ΠΈ Π΅Π΄Π½Π° ΠΎΠ΄ Π½Π°ΡΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΊΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΌΠΎΡΠ°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°. ΠΡΠΈΠΌΠ΅Ρ Π·Π° ΡΠΏΠΎΡΡΠ΅Π±Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΄Π΅ Π²ΠΎ
ΠΠΌΠ° ΡΠΌΠΈΡΠ»Π° Π΄Π° ΡΠ΅ Π²ΡΡΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π·Π° Π½Π΅ΠΈΡΠΊΠΎΡΠΈΡΡΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΈΡΡΠ΅Π·Π½Π°ΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ Π·Π° Π½Π°Π΄ΡΠ΅Π½ΠΎΡΡ, ΡΠ°ΠΌΠΎ Π½Π° Π²ΠΈΡΡΠΈΠ½ΡΠΊΠ° Π±Π°Π·Π° Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ. Π‘ΠΎΠ±ΡΠ°Π½ΠΈΡΠ΅ Π²ΡΠ΅Π΄Π½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ°Π°Ρ Π²ΠΎ
ΠΠ°Π²ΠΈΡΡΠΈΠ½Π° ΡΠ΅ Π½Π°Π΄Π΅Π²Π°ΠΌ Π½Π° ΡΠΎΠ° ΡΡΡ-ΠΈΠ½Π΄Π΅ΠΊΡ-Π·Π΄ΡΠ°Π²ΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π΅ ΠΊΠΎΡΠΈΡΠ½ΠΎ ΠΈ Π±Π°ΡΠ°Π½ΠΎ. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΏΡΠΈΠ΄ΠΎΠ½Π΅ΡΠ΅ΡΠ΅ Π·Π° ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠΎ ΠΏΡΠΈΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΡΠΎ Π³ΠΈ Π½Π°ΠΎΡΠ°ΡΠ΅ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ΅ Π½ΠΎΠ²Π° Π΄ΠΈΡΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°.
ΠΠ·Π²ΠΎΡ: www.habr.com