Skip to content
9 / 15

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² PostgreSQL: ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡?

ΠŸΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅ΠΆΠ΅Ρ‚ ΠΎΠ΄Π½Ρƒ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° физичСскиС части ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ: RANGE (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ), LIST (ΠΏΠΎ пСрСчислимому ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π³ΠΈΠΎΠ½Ρƒ) ΠΈΠ»ΠΈ HASH (Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ΅ распрСдСлСниС). Π’Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² Ρ‚Ρ€Ρ‘Ρ… мСстах: отсСчСниС ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΉ β€” ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ части; обслуТиваниС β€” DROP TABLE старой ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ вмСсто DELETE ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² строк, Ρ‡Ρ‚ΠΎ нСсравнимо дСшСвлС ΠΈ Π½Π΅ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΌΡ‘Ρ€Ρ‚Π²Ρ‹Ρ… вСрсий; ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” индСксы ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ мСньшС ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Π’Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, Ссли запросы Π½Π΅ содСрТат ΠΊΠ»ΡŽΡ‡ партиционирования: Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ запрос ΠΈΠ΄Ρ‘Ρ‚ Π²ΠΎ всС ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ, ΠΈ становится Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ Π±Ρ‹Π»ΠΎ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Ρ‹: ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ окупаСтся ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятков Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚ ΠΈΠ»ΠΈ Ρ‚Π°ΠΌ, Π³Π΄Π΅ Π½ΡƒΠΆΠ΅Π½ быстрый отстрСл старых Π΄Π°Π½Π½Ρ‹Ρ…; число ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΉ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ Π² сотнях, Π° Π½Π΅ Π² дСсятках тысяч; ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ обСспСчиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΊΠ»ΡŽΡ‡ΠΎΠΌ партиционирования Π² составС индСкса.

Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² PostgreSQL: ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡? | JScriptiser