ΠΡΠ΅Π΄Π»Π°Π³Π°ΠΌ Π²ΠΈ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΡΠ΅ΠΏΠΈΡΠ° Π½Π° Π΄ΠΎΠΊΠ»Π°Π΄Π° Π½Π° ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ Π‘ΠΈΡΠ½ΠΈΠΊΠΎΠ² ΠΎΡ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° 2016 Π³. βPostgreSQL ΠΈ JDBC ΠΈΠ·ΡΠ΅ΠΆΠ΄Π°Ρ Π²ΡΠΈΡΠΊΠΎβ
ΠΠΎΠ±ΡΡ Π΄Π΅Π½ ΠΠ°Π·Π²Π°ΠΌ ΡΠ΅ ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ Π‘ΠΈΡΠ½ΠΈΠΊΠΎΠ². Π Π°Π±ΠΎΡΡ Π·Π° NetCracker ΠΎΡ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ. Π Π°Π· ΡΡΠΌ Π½Π°ΠΉ-Π²Π΅ΡΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΡΠΈΡΠΊΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Java, Π²ΡΠΈΡΠΊΠΎ, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ SQL, Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±ΠΈΡΠ°ΠΌ.
Π Π΄Π½Π΅Ρ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ Π·Π° ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ΅ΡΠ½Π°Ρ ΠΌΠ΅ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ PostgreSQL ΠΊΠ°ΡΠΎ ΡΡΡΠ²ΡΡ Π·Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. Π Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ Ρ Java. ΠΠΎ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° Π΄Π½Π΅Ρ, Π½Π΅ Π΅ ΡΠ°ΠΌΠΎ Π·Π° Java. ΠΠ°ΠΊΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°, ΡΠΎΠ²Π° ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ Π΅Π·ΠΈΡΠΈ.
Π©Π΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ:
- ΠΎΡΠ½ΠΎΡΠ½ΠΎ Π²Π·Π΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ±ΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ.
- ΠΡΠ½ΠΎΡΠ½ΠΎ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ.
- Π ΡΡΡΠΎ ΠΈ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ.
- Π Π·Π° ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΠΈΡΠ΅ Π³ΡΠ΅Π±Π»Π°, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π·Π°ΡΠΎΠ²Π΅Π½ΠΈ ΡΠ°ΠΌ.
ΠΠ΅ΠΊΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Ρ Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΡΡ Π²ΡΠΏΡΠΎΡ. ΠΠ·Π±ΠΈΡΠ°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ ΡΠ΅Π΄ ΠΎΡ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΏΡΡΠ²ΠΈΡΠ½ΠΈΡ ΠΊΠ»ΡΡ.
ΠΠ°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π½Π° ΡΡΡΠΈΡ Ρ ΠΎΡΡ. Π ΡΡΠ»ΠΎΡΠΎ ΡΠΎΠ²Π° Π·Π΅ΠΌΠ΅Π΄Π΅Π»ΠΈΠ΅ ΠΎΡΠ½Π΅ΠΌΠ° 20 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ.
Π’Π΅Π·ΠΈ 20 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ 100 ΡΠ°ΠΊΠΈΠ²Π° Π·Π°ΡΠ²ΠΊΠΈ, ΡΠΎΠ³Π°Π²Π° Π²ΠΈΠ΅ ΠΏΡΠ΅ΠΊΠ°ΡΠ²Π°ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°, ΠΏΡΠ΅Π²ΡΡΡΠ°ΠΉΠΊΠΈ ΡΠ΅Π·ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, Ρ.Π΅. Π½ΠΈΠ΅ Π³ΡΠ±ΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅.
ΠΠ΅ ΠΎΠ±ΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π° ΠΈ Π²ΠΈΠΆΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π½ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π±Π°Π·Π°ΡΠ° Π·Π° ΡΠΎΠ²Π°. ΠΠ°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ.
ΠΡΡΠ²ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π΅ ΠΏΡΠΎΡΡΠ° Π·Π°ΡΠ²ΠΊΠ°. ΠΠ°ΠΊΠ²ΠΎ ΠΌΡ Π΅ Ρ ΡΠ±Π°Π²ΠΎΡΠΎ? Π€Π°ΠΊΡΡΡ, ΡΠ΅ Π³ΠΎ Π²Π·Π΅ΠΌΠ°ΠΌΠ΅ ΠΈ Π³ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΌΠ΅, ΠΈ Π½ΠΈΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅.
ΠΠ°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΡΡΠΎ ΠΈΠΌΠ° ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π·Π°ΡΠ²ΠΊΠ°, ΠΊΠΎΡΡΠΎ Π΅ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½Π°, Π½ΠΎ ΠΏΠΎ-ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½Π°. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠ° Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΠΎΠ±Π²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° ΠΈ Ρ.Π½.
Π‘ΡΠΏΠ΅Ρ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π΅ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π² Π½Π°ΡΡΠΎΡΡΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄. ΠΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΈΡΠΊΠ°ΠΌΠ΅ Π½Π΅ΡΠΎ ΠΎΡ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΠΌΠ° ΡΠΏΠΈΡΡΠΊ Ρ ΠΆΠ΅Π»Π°Π½ΠΈΡ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΎΡΠΎΡΠΌΠ΅Π½ ΠΏΠΎΠ΄ Π½ΡΠΊΠ°ΠΊΠ²Π° ΡΠΎΡΠΌΠ°, Ρ.Π΅. ΡΠΎΠ²Π° Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅, Π½ΠΎ ΡΠΎΠ²Π° Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π³Π° ΠΈ ΠΏΡΠ΅Π· ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°. Π’Π°ΠΊΠ° ΡΠ΅ ΡΠΎΠΊΡ-ΡΠΎ Π³ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ ΠΌΠ΅ ΠΈ ΡΠ΅ ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠΌΠ΅, ΡΠ°Π·ΡΡΡΡΠ²Π°ΠΉΠΊΠΈ Π³Π»Π°Π²Π½ΠΈΡΠ΅ Ρ ΠΎΡΠ°.
Π ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ, Π΅ ΠΏΡΠΎΡΡΠ° Π·Π°ΡΠ²ΠΊΠ° ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π·Π°ΡΠ²ΠΊΠ°.
ΠΠ°ΠΊΠ²ΠΎ Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎΡΠΎ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄?
ΠΠ΄Π½Π° ΠΏΡΠΎΡΡΠ° Π·Π°ΡΠ²ΠΊΠ° Π΅ Π΄ΠΎΠ±ΡΠ° Π·Π° Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅. ΠΠ΅Π΄Π½ΡΠΆ Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΎ ΠΈ Π·Π°Π±ΡΠ°Π²Π΅Π½ΠΎ. Π ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ Π½Π° Π΄Π°Π½Π½ΠΈ, Ρ.Π΅. Π½Π΅ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° Π½ΡΠΊΠΎΠΈ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
Π Π°Π·ΡΠΈΡΠ΅Π½Π° Π·Π°ΡΠ²ΠΊΠ° β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΠΈ Π΄Π° ΡΠΏΠ΅ΡΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅. Π’ΠΎΠ²Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. Π’ΠΎΠ²Π° Π½Π°ΠΈΡΡΠΈΠ½Π°, Π½Π°ΠΈΡΡΠΈΠ½Π° Π½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°. ΠΠΌΠ° Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠΏΠ΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅. ΠΠΌΠ° ΡΠΏΠ΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ.
ΠΠ° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ°. ΠΡΠΎ ΠΊΠ°ΠΊ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π΅Π΄Π½ΠΎ ΡΠΈΠΏΠΈΡΠ½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠΆΠ΅ Π΄Π° Π΅ Java ΠΈ Ρ.Π½.
Π‘ΡΠ·Π΄Π°Π΄ΠΎΡ ΠΌΠ΅ ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΠ΅. ΠΠ·ΠΏΡΠ»Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°. Π‘ΡΠ·Π΄Π°Π΄Π΅Π½ Π±Π»ΠΈΠ·ΠΎ. ΠΡΠ΄Π΅ Π΅ Π³ΡΠ΅ΡΠΊΠ°ΡΠ° ΡΡΠΊ? ΠΠ°ΠΊΡΠ² Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ? ΠΡΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π’Π°ΠΊΠ° ΠΏΠΈΡΠ΅ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΊΠ½ΠΈΠ³ΠΈ. Π’Π°ΠΊΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΠΈΡΠ΅. ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ°ΠΊΠ°.
ΠΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°, ΡΠ΅ ΡΠΎΠ²Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ. ΠΠ°ΡΠΎ? ΠΠ°ΡΠΎΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ΅ΡΠΎΠ΄ "Π±Π»ΠΈΠ·ΡΠΊ". Π ΠΊΠΎΠ³Π°ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°, ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ Π΅ ΠΊΠ°ΡΠΎ ΠΏΡΡΠ°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ. ΠΠ°Π·Π°Ρ ΠΌΠ΅ "PARSE EXECUTE DEALLOCATE".
ΠΠ°ΡΠΎ ΡΡΠ»ΠΎΡΠΎ ΡΠΎΠ²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΡΠ°Π·ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΡ? ΠΠΈΠΊΠΎΠΉ Π½Π΅ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ ΠΎΡ ΡΡΡ . ΠΠΎ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π° Π² PreparedStatements Π΅, ΡΠ΅ ΠΊΠΎΠ³Π°ΡΠΎ Π³ΠΈ Π·Π°ΡΠ²ΠΎΡΠΈΠΌ, ΡΠ΅ Π·Π°ΡΠ²Π°ΡΡΡ Π²ΡΠΈΡΠΊΠΎ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° Π½Π΅ Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅.
ΠΡΠΊΠ°ΠΌΠ΅ ΠΊΠ°ΡΠΎ Π·Π΄ΡΠ°Π²ΠΈ Ρ ΠΎΡΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌ Ρ Π±Π°Π·Π°ΡΠ°. ΠΠ·Π΅Ρ ΠΌΠ΅ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΡ ΠΌΠ΅ Π½Π°ΡΠ΅ΡΠΎ ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Π΄Π½ΡΠΆ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Π³ΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ. ΠΡΡΡΠ½ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ - ΡΠΎΠ²Π° Π΅ Π²Π΅Π΄Π½ΡΠΆ Π² ΡΠ΅Π»ΠΈΡ ΠΆΠΈΠ²ΠΎΡ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° - ΡΠ΅ ΡΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ. Π Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π° ΠΈΠ·ΡΠ°Π· Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ REST. Π’ΠΎΠ²Π° Π΅ Π½Π°ΡΠ°ΡΠ° ΡΠ΅Π».
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΠΌ ΡΠΎΠ²Π°?
ΠΠ½ΠΎΠ³ΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ - Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° Π·Π°ΡΠ²Π°ΡΡΡΠ΅ ΠΎΡΡΠ΅ΡΠΈ. ΠΠΈΡΠ΅ΠΌ Π³ΠΎ ΡΠ°ΠΊΠ°: βΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅ΡΠ΅β βΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅β.
ΠΠΊΠΎ ΠΏΡΡΠ½Π΅ΠΌ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ, ΡΠΎΠ³Π°Π²Π° Π΅ ΡΡΠ½ΠΎ, ΡΠ΅ Π½Π΅ΡΠΎ ΡΠ΅ ΠΏΡΠ΅Π»Π΅Π΅ Π½ΡΠΊΡΠ΄Π΅. ΠΠΊΠΎ Π½Π΅ Π΅ ΡΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π³ΠΎ ΠΎΠΏΠΈΡΠ°ΡΠ΅. ΠΠ΅ΠΊΠ° Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π±Π΅Π½ΡΠΌΠ°ΡΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΡ ΠΌΠ΅ΡΠΎΠ΄. Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΠ΅. Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΌΠ΅ Π³ΠΎ Π½Π° Π½ΡΠΊΠ°ΠΊΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°ΠΌΠ΅, ΡΠ΅ ΡΠ΅ ΡΡΠΈΠ²Π° Π΄ΠΎΡΡΠ° Π±ΡΡΠ·ΠΎ ΡΡΡ Π·Π°Π³ΡΠ±Π° Π½Π° ΡΡΠ»Π°ΡΠ° ΠΏΠ°ΠΌΠ΅Ρ, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ°ΡΠ΅.
Π―ΡΠ½ΠΎ Π΅, ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° Π³ΡΠ΅ΡΠΊΠΈ Π»Π΅ΡΠ½ΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Ρ. ΠΠ° ΡΡΡ Π½ΡΠΌΠ° Π΄Π° Π³ΠΎΠ²ΠΎΡΡ. ΠΠΎ ΡΠ΅ ΠΊΠ°ΠΆΠ°, ΡΠ΅ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠ΅ΡΠΎΠ΄ΡΡ Π΅ Π³Π»ΡΠΏΠ°Π², Π½ΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ.
ΠΠ°ΠΊ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ? ΠΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π·Π° ΡΠΎΠ²Π°?
Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π²ΠΈΠ½Π°Π³ΠΈ Π·Π°ΡΠ²Π°ΡΡΡ ΠΈΠ·ΡΠ°Π·ΠΈ. ΠΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΊΠ°Π·Π²Π°Ρ Π΄Π° Π³ΠΎ Π·Π°ΡΠ²ΠΎΡΠΈΡΠ΅, ΠΈΠ½Π°ΡΠ΅ ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΡΠ΅ ΠΈΠ·ΡΠ΅ΡΠ΅.
Π PostgreSQL Π½Π΅ Π·Π½Π°Π΅ ΠΊΠ°ΠΊ Π΄Π° ΠΊΠ΅ΡΠΈΡΠ° Π·Π°ΡΠ²ΠΊΠΈ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅ Π²ΡΡΠΊΠ° ΡΠ΅ΡΠΈΡ Π΄Π° ΡΡΠ·Π΄Π°Π²Π° ΡΠΎΠ·ΠΈ ΠΊΠ΅Ρ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ.
Π Π½ΠΈΠ΅ ΡΡΡΠΎ Π½Π΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π³ΡΠ±ΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅.
Π ΠΊΠ°ΠΊΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ.
ΠΡΡΠ²ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ Π΅ Π΄Π° Π³ΠΎ Π²Π·Π΅ΠΌΠ΅ΠΌ ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ΅ Π½Π΅ΠΊΠ° ΡΠ²ΠΈΠ΅ΠΌ Π²ΡΠΈΡΠΊΠΎ Π² PgSQL. Π’Π°ΠΌ ΠΈΠΌΠ° ΠΊΠ΅Ρ. ΠΠ΅ΡΠΈΡΠ° Π²ΡΠΈΡΠΊΠΎ. Π©Π΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ ΡΡΠΏΠ΅Ρ. ΠΠΈΠ΄ΡΡ ΠΌΠ΅ ΡΠΎΠ²Π°. ΠΠΌΠ°ΠΌΠ΅ 100500 Π·Π°ΡΠ²ΠΊΠΈ. ΠΠ΅ ΡΠ°Π±ΠΎΡΠΈ. ΠΠΈΠ΅ Π½Π΅ ΡΠΌΠ΅ ΡΡΠ³Π»Π°ΡΠ½ΠΈ Π΄Π° ΠΏΡΠ΅Π²ΡΡΡΠ°ΠΌΠ΅ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΈ ΡΡΡΠ½ΠΎ. ΠΠ΅ Π½Π΅.
ΠΠΌΠ°ΠΌΠ΅ ΠΈ Π²ΡΠΎΡΠΈ Π²Π°ΡΠΈΠ°Π½Ρ - Π²Π·Π΅ΠΌΠ΅ΡΠ΅ Π³ΠΎ ΠΈ Π³ΠΎ Π½Π°ΡΠ΅ΠΆΠ΅ΡΠ΅ ΡΠ°ΠΌΠΈ. ΠΡΠ²Π°ΡΡΠΌΠ΅ ΠΈΠ·ΡΠΎΡΠ½ΠΈΡΠΈΡΠ΅ ΠΈ Π·Π°ΠΏΠΎΡΠ²Π°ΠΌΠ΅ Π΄Π° ΡΠ΅ΠΆΠ΅ΠΌ. ΠΠΈΠ΄ΡΡ ΠΌΠ΅ ΠΈ Π²ΠΈΠ΄ΡΡ ΠΌΠ΅. ΠΠΊΠ°Π·Π° ΡΠ΅, ΡΠ΅ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ.
Π’ΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΠΏΡΠ΅Π· Π°Π²Π³ΡΡΡ 2015 Π³. Π‘Π΅Π³Π° ΠΈΠΌΠ° ΠΏΠΎ-ΠΌΠΎΠ΄Π΅ΡΠ½Π° Π²Π΅ΡΡΠΈΡ. Π Π²ΡΠΈΡΠΊΠΎ Π΅ ΡΡΠΏΠ΅Ρ. Π Π°Π±ΠΎΡΠΈ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π΄ΠΎΠ±ΡΠ΅, ΡΠ΅ Π½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΠΌΠ΅ Π½ΠΈΡΠΎ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π Π΄ΠΎΡΠΈ ΡΠΏΡΡΡ ΠΌΠ΅ Π΄Π° ΠΌΠΈΡΠ»ΠΈΠΌ Π² ΠΏΠΎΡΠΎΠΊΠ° PgSQL, Ρ.Π΅. ΡΠΎΠ²Π° Π½ΠΈ Π±Π΅ΡΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ, Π·Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΠΌ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΉΠ½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ ΠΏΠΎΡΡΠΈ Π΄ΠΎ Π½ΡΠ»Π°.
Π‘ΡΠΎΡΠ²Π΅ΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈΡΠ΅ ΠΎΡ ΡΡΡΠ²ΡΡΠ° ΠΈΠ·ΡΠ°Π·ΠΈ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ ΠΏΡΠΈ 5-ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ Π·Π°Π³ΡΠ±Π°ΡΠ° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΏΡΠΈ Π²ΡΡΠΊΠ° Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½Π° Π·Π°ΡΠ²ΠΊΠ°.
ΠΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΏΠΈΡΠ°ΡΠ΅ - ΠΊΡΠ΄Π΅ ΡΠ° ΡΠΈΡΠ»Π°ΡΠ°? ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Ρ Π ΡΡΠΊ Π½ΡΠΌΠ° Π΄Π° Π΄Π°Π²Π°ΠΌ ΡΠΈΡΠ»Π°, Π·Π°ΡΠΎΡΠΎ Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° ΠΈΠΌΠ° ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π°.
ΠΠ°ΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ Π±ΡΡ Π° ΡΠ°ΠΊΠΈΠ²Π°, ΡΠ΅ ΠΏΡΠ΅ΠΊΠ°ΡΠ°Ρ ΠΌΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° OLTP Π·Π°ΡΠ²ΠΊΠΈ. ΠΠΌΠ°ΡΠ΅ 0,5 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, 20 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ Π·Π° Π°Π½Π°Π»ΠΈΠ·. ΠΠ°ΡΠ²ΠΊΠ° β 10 KiB ΡΠ΅ΠΊΡΡ, 170 ΡΠ΅Π΄Π° ΠΏΠ»Π°Π½. Π’ΠΎΠ²Π° Π΅ OLTP Π·Π°ΡΠ²ΠΊΠ°. ΠΠ·ΠΈΡΠΊΠ²Π° 1, 5, 10 ΡΠ΅Π΄Π°, ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΏΠΎΠ²Π΅ΡΠ΅.
ΠΠΎ ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ ΠΈΡΠΊΠ°Ρ ΠΌΠ΅ Π΄Π° Π³ΡΠ±ΠΈΠΌ 20 ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ. ΠΠ°ΠΌΠ°Π»ΠΈΡ ΠΌΠ΅ Π³ΠΎ Π΄ΠΎ 0. Π²ΡΠΈΡΠΊΠΎ Π΅ ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΎ
ΠΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΎΡ ΡΡΠΊ? ΠΠΊΠΎ ΠΈΠΌΠ°Ρ Java, ΡΠΎΠ³Π°Π²Π° Π²Π·ΠΈΠΌΠ°Ρ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΠΈ ΡΠ΅ ΡΠ°Π΄Π²Π°Ρ.
ΠΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΠ΅ Π΄ΡΡΠ³ Π΅Π·ΠΈΠΊ, ΡΠΎΠ³Π°Π²Π° ΠΏΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ - ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΈ ΠΎΡ ΡΠΎΠ²Π°? ΠΠ°ΡΠΎΡΠΎ ΠΎΡ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ° Π½Π° ΠΊΡΠ°ΠΉΠ½ΠΈΡ Π΅Π·ΠΈΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ PL 8 ΠΈΠ»ΠΈ ΠΈΠΌΠ°ΡΠ΅ LibPQ, ΡΠΎΠ³Π°Π²Π° Π½Π΅ Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ Π·Π° Π²Π°Ρ, ΡΠ΅ ΠΏΡΠ΅ΠΊΠ°ΡΠ²Π°ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π½Π΅ Π² ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π° Π² Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠΎΠ²Π° ΡΠΈ ΡΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈ. ΠΊΠ°ΠΊ? ΠΡΠΈΡΠΊΠΎ Π΅ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ.
ΠΡΠ²Π΅Π½ ΡΠ΅ ΠΈΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ ΠΈ Π½ΡΠΊΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈ. Π Π½ΠΈΠ΅ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ΅Π³Π°. ΠΠΎ-Π³ΠΎΠ»ΡΠΌΠ°ΡΠ° ΡΠ°ΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π° ΠΈΠ½Π΄ΡΡΡΡΠΈΠ°Π»Π½Π°ΡΠ° Π°ΡΡ Π΅ΠΎΠ»ΠΎΠ³ΠΈΡ, Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡΠΊΡΠΈΡ ΠΌΠ΅, Π½Π° ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π½Π°ΡΡΠΊΠ½Π°Ρ ΠΌΠ΅.
ΠΠΊΠΎ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ. Π‘Π»ΡΡΠ²Π° ΡΠ΅. ΠΡΠΊΠΎΠΉ Π·Π°Π»Π΅ΠΏΠ²Π° Π½ΠΈΠ·ΠΎΠ²Π΅ΡΠ΅ Π·Π°Π΅Π΄Π½ΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ SQL Π·Π°ΡΠ²ΠΊΠ°.
ΠΠ°ΡΠΎ Π΅ Π»ΠΎΡ? ΠΠΎΡΠΎ Π΅, Π·Π°ΡΠΎΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½ΠΈΠ·.
Π Ρ Π΅Ρ-ΠΊΠΎΠ΄ΡΡ Π½Π° ΡΠΎΠ·ΠΈ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½ΠΈΠ· ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ. Π’ΠΎΠ²Π° Π½Π°ΠΈΡΡΠΈΠ½Π° Π΅ Π·Π°Π΄Π°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° - Π½Π°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΠ»ΡΠ³ ΡΠ΅ΠΊΡΡ Π½Π° Π·Π°ΡΠ²ΠΊΠ° Π΄ΠΎΡΠΈ Π² ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ Ρ Π΅Ρ Π½Π΅ Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° Π»Π΅ΡΠ½ΠΎ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΈΠ·Π²ΠΎΠ΄ΡΡ Π΅ ΠΏΡΠΎΡΡ - Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°ΠΉΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ. Π‘ΡΡ ΡΠ°Π½ΡΠ²Π°ΠΉΡΠ΅ Π³ΠΈ Π² Π΅Π΄Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°. Π ΡΠ΅ ΡΠ°Π΄Π²Π°ΠΉ.
Π‘Π»Π΅Π΄Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π’ΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ° Π²Π°ΠΆΠ½ΠΈ. ΠΠΌΠ° ORM, ΠΊΠΎΠΈΡΠΎ ΠΊΠ°Π·Π²Π°Ρ, ΡΠ΅ Π½ΡΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ NULL ΠΈΠΌΠ°, Π½Π΅ΠΊΠ° ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄. ΠΠΊΠΎ Int, ΡΠΎΠ³Π°Π²Π° ΠΊΠ°Π·Π²Π°ΠΌΠ΅ setInt. Π Π°ΠΊΠΎ NULL, ΡΠΎΠ³Π°Π²Π° Π½Π΅ΠΊΠ° Π²ΠΈΠ½Π°Π³ΠΈ Π΅ VARCHAR. Π ΠΊΠ°ΠΊΠ²Π° Π΅ ΡΠ°Π·Π»ΠΈΠΊΠ°ΡΠ° Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ NULL? Π‘Π°ΠΌΠ°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ. Π ΡΠ°Π·ΠΈ ΡΠ½ΠΈΠΌΠΊΠ° Π½Π΅ ΡΡΠ°Π²Π°.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠΎ Π½Π΅ ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°. ΠΠΊΠΎ ΡΡΠ΅ ΠΊΠ°Π·Π°Π»ΠΈ ΠΏΡΡΠ²ΠΈΡ ΠΏΡΡ, ΡΠ΅ ΡΠΎΠ²Π° Π΅ ΡΠΈΡΠ»ΠΎ, Π° Π²ΡΠΎΡΠΈΡΡ ΠΏΡΡ ΡΡΠ΅ ΠΊΠ°Π·Π°Π»ΠΈ, ΡΠ΅ Π΅ VARCHAR, ΡΠΎΠ³Π°Π²Π° Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΎΡ ΡΡΡΠ²ΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈ. Π Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π½Π°ΡΠ΅ΡΠΎ ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΠ΅.
ΠΠΊΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° Π·Π°ΡΠ²ΠΊΠ°, ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ Π²ΡΠ² Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π° Π½Π΅ ΡΠ° ΠΎΠ±ΡΡΠΊΠ°Π½ΠΈ. Π’ΡΡΠ±Π²Π° Π΄Π° Π²Π½ΠΈΠΌΠ°Π²Π°ΡΠ΅ Π·Π° NULL. Π’ΠΎΠ²Π° Π΅ ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½Π° Π³ΡΠ΅ΡΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ΅, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π·Π°ΠΏΠΎΡΠ½Π°Ρ ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ PreparedStatements
ΠΠΎΠ±ΡΠ΅, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ. ΠΠΎΠΆΠ΅ Π±ΠΈ ΡΠ° Π²Π·Π΅Π»ΠΈ ΡΠΎΡΡΠΎΡΠ°. Π ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΠΏΠ°Π΄Π½Π°. ΠΠ΅ΡΠ°ΡΠ° ΡΠ΅ Π²Π»ΠΎΡΠΈΡ Π°.
ΠΊΠ°ΠΊ ΡΡΠ°Π²Π° ΡΠΎΠ²Π° Π’ΠΎΠ²Π° Π±ΡΠ³ Π»ΠΈ Π΅ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ? ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ Π±Π΅ΡΠ΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ Π΄Π°Π»ΠΈ ΡΠΎΠ²Π° Π΅ Π³ΡΠ΅ΡΠΊΠ° ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ. ΠΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π·Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. Π’Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ Π½Π΅ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎ Π½ΠΈ ΡΡΡΡΠΎΠΈ Π² Π·Π°ΡΠ°Π΄Π°. Π ΡΠ΅ ΡΡΡΡΠΎΠΈ Π² Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±ΠΈ Π±ΡΠΊΠ²Π°Π»Π½ΠΎ ΠΎΡ Π΅Π΄Π½Π° ΠΌΠ°ΡΠ°. ΠΠΌΠ°Ρ ΠΌΠ΅, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΎΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΠΈΡΠΊΠ°Π½ΠΈΡ. ΠΠ°ΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ΅ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π΄Π²Π΅ ΠΈΠ»ΠΈ ΡΡΠΈ ΠΌΠ°ΡΠΈ, Π½ΠΎ ΠΈΠΌΠ° ΡΠ°ΠΊΡΠ² ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π·Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅. ΠΠ·Π΅ΠΌΠ΅ΡΠ΅ Π²ΡΡΠΊΠ° Π²Π΅ΡΡΠΈΡ ΠΎΡ Π²Π°ΡΠ°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Ρ ΠΈΠ³ΡΠ°ΠΉΡΠ΅.
ΠΡΠΏΡΠΎΡΡΡ Π΅, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, Π²ΡΡΠΊΠ° ΠΎΡ ΠΊΠΎΠΈΡΠΎ Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½Π°. ΠΠΌΠ° Π΅Π΄ΠΈΠ½ ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΠ΅Π΄Π° Π² Π΅Π΄Π½Π° NULL ΠΊΠΎΠ»ΠΎΠ½Π°. Π Π²ΡΠΎΡΠ°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π° ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ 20 ΡΠ΅Π΄Π°. ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ Π±Π΅Π· ΠΎΠ±Π²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π²ΡΠΈΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈ Π΄ΠΎΠ±ΡΠ΅.
ΠΠΊΠΎ Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ Ρ ΠΎΠ±Π²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Ρ.Π΅. ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ "?" ΠΈΠ»ΠΈ β$1β Π·Π° Π½Π°ΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΎ Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΏΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅?
ΠΡΡΠ²ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π΅ ΡΠΏΠΎΡΠ΅Π΄ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡΡΠ°. ΠΡΠΎΡΠΈΡΡ Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Π±ΡΡΠ·. ΠΠ΅ΡΠΎ Π±Π΅ΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΎ. Π’ΡΠ΅ΡΠΈ, ΡΠ΅ΡΠ²ΡΡΡΠΈ, ΠΏΠ΅ΡΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΡΡΠΊ - ΠΈ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ. Π Π½Π°ΠΉ-Π»ΠΎΡΠΎΡΠΎ Π΅, ΡΠ΅ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ»ΡΡΠ²Π° Π½Π° ΡΠ΅ΡΡΠ°ΡΠ° Π΅ΠΊΠ·Π΅ΠΊΡΡΠΈΡ. ΠΠΎΠΉ Π·Π½Π°Π΅ΡΠ΅, ΡΠ΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ΅ΡΡ Π΅ΠΊΠ·Π΅ΠΊΡΡΠΈΠΈ, Π·Π° Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΊΠ°ΠΊΡΠ² Π΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡΡ ΠΏΠ»Π°Π½ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅?
ΠΠΎΠΉ Π΅ Π²ΠΈΠ½ΠΎΠ²Π΅Π½ ΠΠ°ΠΊΠ²ΠΎ ΡΡΠ°Π½Π°? ΠΠ°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΡΠ΄ΡΡΠΆΠ° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ. Π ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ Π·Π° ΠΎΠ±ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ. Π ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Π² Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π° ΠΊΡΠΌ Π³Π΅Π½Π΅ΡΠΈΡΠ΅Π½ ΠΏΠ»Π°Π½, ΠΊΠΎΠΉΡΠΎ Π·Π° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ ΡΠ°Π·Π»ΠΈΡΠ΅Π½. ΠΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ ΡΡΡΠΎΡΠΎ, Π° ΠΌΠΎΠΆΠ΅ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ. Π ΠΈΠΌΠ° Π½ΡΠΊΠ°ΠΊΡΠ² Π²ΠΈΠ΄ ΠΏΡΠ°Π³ΠΎΠ²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΊΠΎΡΡΠΎ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.
ΠΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎ Π²ΡΠΏΡΠΎΡΠ°? Π’ΡΠΊ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π΅ ΠΏΠΎ-ΡΡΡΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈ Π½Π΅ΡΠΎ. ΠΠΌΠ° ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. Π’ΠΎΠ²Π° Π΅ +0, OFFSET 0. Π‘ΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π·Π½Π°Π΅ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΎΡΡΠΎ Π³ΠΎ Π²Π·Π΅ΠΌΠ°ΠΌΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅ β+0β ΠΊΡΠΌ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΠΈ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄. Π©Π΅ ΡΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ.
Π ΠΈΠΌΠ° ΠΈ Π΄ΡΡΠ³ Π²Π°ΡΠΈΠ°Π½Ρ - ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΠΏΠΎ-Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ΡΠ΅. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΡΡΡΠ±Π²Π° Π½Π΅ ΡΠ°ΠΌΠΎ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠ°, Π½ΠΎ ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ΅ βΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·β 6 ΠΏΡΡΠΈ. ΠΠΊΠΎ Π΅ 5, Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ.
ΠΠΌΠ° ΠΈ ΡΡΠ΅ΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ - Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΠΈΡΠΌΠΎ Π΄ΠΎ pgsql-hackers. ΠΠ°ΠΏΠΈΡΠ°Ρ ΠΎΠ±Π°ΡΠ΅, Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π΅ ΡΡΠ½ΠΎ Π΄Π°Π»ΠΈ ΡΠΎΠ²Π° Π΅ Π³ΡΠ΅ΡΠΊΠ° ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠΎΠΊΠ°ΡΠΎ ΠΌΠΈΡΠ»ΠΈΠΌ Π΄Π°Π»ΠΈ ΡΠΎΠ²Π° Π΅ Π±ΡΠ³ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π΅ΠΊΠ° Π³ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈΠΌ. ΠΠ΅ΠΊΠ° Π²Π·Π΅ΠΌΠ΅ΠΌ Π½Π°ΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ "+0". ΠΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄. ΠΠ²Π° ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈ Π΄ΠΎΡΠΈ Π½Π΅ Π΅ Π½ΡΠΆΠ½ΠΎ Π΄Π° ΠΌΠΈΡΠ»ΠΈΡΠ΅ ΠΊΠ°ΠΊ Π΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ Π΅. ΠΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠΎ. ΠΡΠΎΡΡΠΎ Π·Π°Π±ΡΠ°Π½ΠΈΡ ΠΌΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΡΠ°Π·ΠΈ ΠΊΠΎΠ»ΠΎΠ½Π°. ΠΡΠΌΠ°ΠΌΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ Π² ΠΊΠΎΠ»ΠΎΠ½Π°ΡΠ° β+0β ΠΈ ΡΠΎΠ²Π° Π΅, Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄.
Π’ΠΎΠ²Π° Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎΡΠΎ Π½Π° 6 ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΡ. Π‘Π΅Π³Π° Π² ΡΠ΅ΠΊΡΡΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ 6 ΠΏΡΡΠΈ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΎΠ±Π²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ. ΠΠΊΠΎ Π½ΡΠΌΠ°ΡΠ΅ ΠΎΠ±Π²ΡΡΠ·Π°Π½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°. Π Π² ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π° ΠΈΡΠΊΠ°Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠ²Π°Π»Ρ. Π’ΠΎΠ²Π° Π½Π΅ Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎ Π½Π΅ΡΠΎ.
ΠΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΠΊΠΎΠ»ΠΊΠΎ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ? ΠΡΠ±ΠΎΠ»Π΅ΡΠΊΠ° ΡΡΠΊ, Π³ΡΠ΅ΡΠΊΠ° ΡΠ°ΠΌ. ΠΡΡΡΠ½ΠΎΡΡ Π±ΡΠ³ΡΡ Π΅ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅.
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΎ-ΠΎΡΠ±Π»ΠΈΠ·ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠΌΠ°ΠΌΠ΅ Π΄Π²Π΅ ΡΡ Π΅ΠΌΠΈ. Π‘Ρ Π΅ΠΌΠ° A Ρ ΡΠ°Π±Π»ΠΈΡΠ° S ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠ° B Ρ ΡΠ°Π±Π»ΠΈΡΠ° S. ΠΠ°ΡΠ²ΠΊΠ° β ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΎΡ ΡΠ°Π±Π»ΠΈΡΠ°. ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ? Π©Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π³ΡΠ΅ΡΠΊΠ°. Π©Π΅ ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅. ΠΡΠ°Π²ΠΈΠ»ΠΎΡΠΎ Π΅ - Π±ΡΠ³ΡΡ Π΅ Π½Π°Π²ΡΡΠΊΡΠ΄Π΅, ΡΠ΅ ΠΈΠΌΠ°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅.
Π‘Π΅Π³Π° Π²ΡΠΏΡΠΎΡΡΡ Π΅: "ΠΠ°ΡΠΎ?" ΠΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ ΠΈΠΌΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΠ΅ Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΡ Π΅ΠΌΠ°, ΡΠΎΠ³Π°Π²Π° ΠΈΠΌΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° "search_path", ΠΊΠΎΡΡΠΎ Π½ΠΈ ΠΊΠ°Π·Π²Π° ΠΊΡΠ΄Π΅ Π΄Π° ΡΡΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°. ΠΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ ΠΈΠΌΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°.
ΠΠ°ΠΊΡΠ² Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ? ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ Π΅, ΡΠ΅ ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΡΡΠ°, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ ΠΎΡ ΡΡΡΠ²ΡΡΠ°, Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ·ΠΈΡΠ°Ρ, ΡΠ΅ search_path ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ ΠΎΡ Π½ΡΠΊΠΎΠ³ΠΎ. Π’Π°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ ΠΎΡΡΠ°Π²Π° ΡΠ°ΠΊΠ° Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½Π° Π·Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ. Π Π½ΡΠΊΠΎΠΈ ΡΠ°ΡΡΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ Π²ΡΠ·ΠΏΡΠΈΠ΅ΠΌΠ°Ρ Π½ΠΎΠ²ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π Π°Π·Π±ΠΈΡΠ° ΡΠ΅, ΡΠΎΠ²Π° Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΡΡΠ°, Π²ΡΡΡ Ρ ΠΊΠΎΡΡΠΎ ΡΠ΅ΡΡΠ²Π°ΡΠ΅. ΠΠ°Π²ΠΈΡΠΈ ΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎ ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ°Π²Π°Ρ Π²Π°ΡΠΈΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠΈ. Π Π²Π΅ΡΡΠΈΡ 9.1 ΠΏΡΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ. ΠΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ Π²Π°Π½Π°Ρ Π³ΡΠ΅ΡΠΊΠ°ΡΠ° ΠΈ Π΄Π° Π²ΠΈ ΠΊΠ°ΠΆΠ°Ρ, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π³ΡΠ΅ΡΠΊΠ°.
ΠΠ°ΠΊ Π΄Π° Π³ΠΎ Π»Π΅ΠΊΡΠ²Π°ΠΌΠ΅? ΠΠΌΠ° ΠΏΡΠΎΡΡΠ° ΡΠ΅ΡΠ΅ΠΏΡΠ° - Π½Π΅ Ρ ΠΏΡΠ°Π²Π΅ΡΠ΅. ΠΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠ΅ search_path, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ. ΠΠΊΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π½ΠΎΠ²Π° Π²ΡΡΠ·ΠΊΠ°.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΠ΅, Ρ.Π΅. ΠΎΡΠ²Π°ΡΡΡΠ΅, ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅. ΠΠΎΠΆΠ΅ Π±ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΠ±Π΅Π΄ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΠ΅ ΠΊΠΎΠ³Π°ΡΠΎ Π½ΡΠΊΠΎΠΉ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ, Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° ΠΊΠ°ΠΆΠ΅ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π·Π° ΡΠΎΠ²Π°: βΠΠΈΠΆΡΠ΅, Π²Π°ΡΠ°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡΠΊ. ΠΠΎΠΆΠ΅ Π±ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π½ΡΠ»ΠΈΡΠ°ΡΠ΅ ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΡΡΠ° ΠΈ Π΄Π° Π³ΠΈ ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ?β Π‘Π΅Π³Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ΅ Π΄ΡΡΠΆΠΈ ΡΠ°ΠΉΠ½ΠΎ ΠΈ Π½Π΅ ΡΡΠΎΠ±ΡΠ°Π²Π° ΠΏΠΎ Π½ΠΈΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½, ΡΠ΅ ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΡΡΠ° ΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ Π½ΡΠΊΡΠ΄Π΅ Π²ΡΡΡΠ΅.
Π ΠΏΠ°ΠΊ ΡΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΡΠ°Ρ - ΡΠΎΠ²Π° Π΅ Π½Π΅ΡΠΎ Π½Π΅ΡΠΈΠΏΠΈΡΠ½ΠΎ Π·Π° Java. Π©Π΅ Π²ΠΈΠ΄ΠΈΠΌ Π΅Π΄Π½ΠΎ ΠΊΡΠΌ Π΅Π΄Π½ΠΎ Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ Π½Π΅ΡΠΎ Π² PL/pgSQL. ΠΠΎ ΡΠ°ΠΌ ΡΠ΅ ΡΠ΅ Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅.
ΠΠ΅ΠΊΠ° ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΠΌ ΠΎΡΠ΅ ΠΌΠ°Π»ΠΊΠΎ Π΄Π°Π½Π½ΠΈ. ΠΠΈΠ΅ ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ ΠΈ ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅. ΠΠΌΠ°ΠΌΠ΅ ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΠ΅Π΄Π°. ΠΡΠ΅ΠΊΠΈ ΡΠ΅Π΄ Π΅ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ. ΠΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ Π΄Π°Π½Π½ΠΈ. Π ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ½Π° ΠΏΠ°ΠΌΠ΅Ρ Π² Java ΠΌΠ°ΡΠΈΠ½Π°ΡΠ° ΠΎΡ 128 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°.
ΠΠΈΠ΅, ΠΊΠ°ΠΊΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΡΠΎΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°. Π’ΠΎΠ΅ΡΡ ΠΎΡΠ²Π°ΡΡΠΌΠ΅ resultSet ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ΡΠ΅ΠΌ Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΡΠ°ΠΌ. ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π»ΠΈ Π©Π΅ ΠΏΠ°Π΄Π½Π΅ Π»ΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°? Π©Π΅ ΠΏΠΎΡΠ΅ΡΠ΅Ρ Π»ΠΈ ΠΌΠ°Π»ΠΊΠΎ? ΠΠ΅ΠΊΠ° ΡΠ΅ Π΄ΠΎΠ²Π΅ΡΠΈΠΌ Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, Π½Π΅ΠΊΠ° ΡΠ΅ Π΄ΠΎΠ²Π΅ΡΠΈΠΌ Π½Π° Postgres. ΠΠΈΠ΅ Π½Π΅ Π³ΠΎ Π²ΡΡΠ²Π°ΠΌΠ΅. Π©Π΅ ΠΈΠ·ΠΏΠ°Π΄Π½Π΅ΠΌ Π»ΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ°? ΠΠΎΠΉ Π΅ ΠΈΠ·ΠΏΠΈΡΠ°Π» OutOfMemory? ΠΠΎΠΉ ΡΡΠΏΡ Π΄Π° Π³ΠΎ ΠΎΠΏΡΠ°Π²ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π°? ΠΡΠΊΠΎΠΉ ΡΡΠΏΡ Π΄Π° Π³ΠΎ ΠΏΠΎΠΏΡΠ°Π²ΠΈ.
ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΌΠΈΠ»ΠΈΠΎΠ½ ΡΠ΅Π΄ΠΎΠ²Π΅, Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅. ΠΠ·ΠΈΡΠΊΠ²Π° ΡΠ΅ OFFSET/LIMIT. ΠΠΎΠΉ Π΅ Π·Π° ΡΠ°Π·ΠΈ ΠΎΠΏΡΠΈΡ? Π ΠΊΠΎΠΉ Π΅ Π·Π° ΠΈΠ³ΡΠ° Ρ autoCommit?
Π’ΡΠΊ, ΠΊΠ°ΠΊΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, Π½Π°ΠΉ-Π½Π΅ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΅ ΠΎΠΊΠ°Π·Π²Π° ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½. Π Π°ΠΊΠΎ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅ autoCommit, ΡΠΎΠ²Π° ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅. ΠΠ°ΡΠΎ ΡΠ°ΠΊΠ°? ΠΠ°ΡΠΊΠ°ΡΠ° Π½Π΅ Π·Π½Π°Π΅ Π·Π° ΡΠΎΠ²Π°.
ΠΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ, ΡΠ²ΡΡΠ·Π²Π°ΡΠΈ ΡΠ΅ Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π½Π° Postgres, ΠΈΠ·Π²Π»ΠΈΡΠ°Ρ Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ. PgJDBC Π½Π΅ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΠ²Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅; ΡΠΎΠΉ ΠΈΠ·Π±ΠΈΡΠ° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅.
ΠΠΌΠ° Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° ΡΠ΅ΠΌΠ°ΡΠ° FetchSize, Ρ.Π΅. ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΎ ΠΈΠ·ΡΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠ΅ ΡΡΠΊ, ΠΌΠΎΠ»Ρ, ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ Ρ 10, 50. ΠΠΎ ΡΠΎΠ²Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ, Π΄ΠΎΠΊΠ°ΡΠΎ Π½Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅ autoCommit. ΠΠ·ΠΊΠ»ΡΡΠΈΡ autoCommit - Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ.
ΠΠΎ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ ΠΏΡΠ΅Π· ΠΊΠΎΠ΄Π° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ΡΠΎ Π½Π° setFetchSize Π½Π°Π²ΡΡΠΊΡΠ΄Π΅ Π΅ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ°ΡΠΎΠ²Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΊΠ°Π·Π²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π·Π° ΡΡΠ»Π°ΡΠ° Π²ΡΡΠ·ΠΊΠ°.
Π’ΠΎΠ²Π° ΠΊΠ°Π·Π°Ρ ΠΌΠ΅. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½. Π ΠΊΠ°ΠΊΠ²ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅? ΠΠΊΠΎ ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ°Π»ΠΊΠΈ ΡΡΠΌΠΈ, Π°ΠΊΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·Π±ΠΈΡΠ°ΠΌΠ΅ 10 ΡΠ΅Π΄Π° Π½Π°Π²Π΅Π΄Π½ΡΠΆ, ΡΠΎΠ³Π°Π²Π° ΠΈΠΌΠ°ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ΅ΠΆΠΈΠΉΠ½ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π½Π° ΠΎΠΊΠΎΠ»ΠΎ ΡΡΠΎ.
Π ΠΈΠ΄Π΅Π°Π»Π½ΠΈΡ ΡΠ»ΡΡΠ°ΠΉ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π²ΡΠ΅ ΠΎΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΡΡΠΈΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΡΠ΅ Π² Π±Π°ΠΉΡΠΎΠ²Π΅, Π½ΠΎ ΡΠ΅ΡΠ΅ΠΏΡΠ°ΡΠ° Π΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ°: Π·Π°Π΄Π°ΠΉΡΠ΅ defaultRowFetchSize Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΡΡΠΎ ΠΈ Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ°ΡΡΠ»ΠΈΠ²ΠΈ.
ΠΠ΅ΠΊΠ° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ. ΠΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π΅ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ, ΠΈΠΌΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ INSERT, VALUES. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΠ±ΡΡ Π²Π°ΡΠΈΠ°Π½Ρ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅ βINSERT SELECTβ. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° Π΅ ΡΡΡΠΎΡΠΎ. ΠΡΠΌΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°.
ΠΠ½ΠΈΠ³ΠΈΡΠ΅ ΠΊΠ°Π·Π²Π°Ρ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠ½ΠΈΠ³ΠΈΡΠ΅ ΠΊΠ°Π·Π²Π°Ρ, ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΠΏΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠΊΠΎΠ±ΠΈ. Π Postgres ΠΈΠΌΠ° ΡΡΠ΄Π΅ΡΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ - ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ COPY, Ρ.Π΅. Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎ-Π±ΡΡΠ·ΠΎ.
ΠΠΊΠΎ Π³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅, ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΠΎΡΠΊΡΠΈΡΠΈΡ. ΠΠ°ΠΊ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΡΠΎΠ²Π°? ΠΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΠΈ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΠΌΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° TCP Π½Π΅ Π½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°. ΠΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π΅ Π·Π°Π΅Ρ Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠ°, ΡΠΎΠ³Π°Π²Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π΅ ΡΠ΅ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π² ΠΎΠΏΠΈΡΠΈ Π΄Π° Π½ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ. ΠΡΠ°ΠΉΠ½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π΅, ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ ΡΠ°ΠΊΠ° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΡΠ°ΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ°.
Π ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΡ Π΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΏΠ°ΠΊΠ΅Ρ Π·Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° Π·Π°Π³ΡΠ±Π° Π½Π° Π²ΡΠ΅ΠΌΠ΅.
Π ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠΌΠ΅, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-Π»ΠΎΡΠΎ ΡΡΠ°Π²Π°. ΠΡΠ°ΠΉΠ²Π΅ΡΡΡ Π΅ Π΄ΠΎΡΡΠ° ΠΏΠ΅ΡΠΈΠΌΠΈΡΡΠΈΡΠ΅Π½ ΠΈ Π³ΠΈ Π΄ΠΎΠ±Π°Π²Ρ Π΄ΠΎΡΡΠ° ΡΠ΅ΡΡΠΎ, ΠΎΠΊΠΎΠ»ΠΎ Π²Π΅Π΄Π½ΡΠΆ Π½Π° Π²ΡΠ΅ΠΊΠΈ 200 ΡΠ΅Π΄Π°, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ ΠΈ Ρ.Π½.
Π‘Π»ΡΡΠ²Π° ΡΠ΅ Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΌΠΎ Π΅Π΄ΠΈΠ½ ΡΠ΅Π΄ ΠΈ Π²ΡΠΈΡΠΊΠΎ ΡΠ΅ ΡΠ΅ ΡΡΠΊΠΎΡΠΈ 10 ΠΏΡΡΠΈ. Π‘Π»ΡΡΠ²Π° ΡΠ΅. ΠΠ°ΡΠΎ? ΠΠ°ΠΊΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° ΠΊΠ°ΡΠΎ ΡΠ°Π·ΠΈ Π²Π΅ΡΠ΅ Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π½ΡΠΊΡΠ΄Π΅. Π ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° β128β ΠΎΠ·Π½Π°ΡΠ°Π²Π°ΡΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π³ΡΡΠΏΠΈΡΠ°Π½Π΅.
ΠΠΎΠ±ΡΠ΅, ΡΠ΅ ΡΠΎΠ²Π° Π½Π΅ Π±Π΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π² ΠΎΡΠΈΡΠΈΠ°Π»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ. ΠΡΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΠΈ Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ. ΠΡΠΈΡΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π΄Π°Π²Π°ΠΌ, ΡΠ° Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ.
ΠΠ΅ΠΊΠ° Π³ΠΎ ΠΏΡΠΎΠ±Π²Π°ΠΌΠ΅. ΠΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°ΠΌΠ΅ InsertBatch ΠΏΡΠΎΡΡΠΎ. ΠΠΈΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ²Π°ΠΌΠ΅ InsertBatch Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ, Ρ.Π΅. Π΅Π΄Π½ΠΎ ΠΈ ΡΡΡΠΎ Π½Π΅ΡΠΎ, Π½ΠΎ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. Π‘Π»ΠΎΠΆΠ΅Π½ Ρ ΠΎΠ΄. ΠΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈ ΡΠΎΠ²Π°, Π½ΠΎ ΡΠΎΠ²Π° Π΅ ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΡΠΎΡΡ Ρ ΠΎΠ΄, ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π»Π΅ΡΠ΅Π½ ΠΎΡ ΠΠΠΠΠ ΠΠΠ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΠΠΠΠ ΠΠΠ.
Π ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π° Π²ΡΡΡ Ρ ΡΡΡΡΠΊΡΡΡΠΈ. ΠΠ΅ΠΊΠ»Π°ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΡΠΈΠΏ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΠΏΠΎΠ΄Π°ΠΉΡΠ΅ ΠΌΠ°ΡΠΈΠ² ΠΈ INSERT Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°.
ΠΠΊΠΎ ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ Π²ΡΡΠ·ΠΊΠ°ΡΠ°: pgjdbc/ubenchmsrk/InsertBatch.java, ΡΠΎΠ³Π°Π²Π° ΡΠΎΠ·ΠΈ ΠΊΠΎΠ΄ Π΅ Π² GitHub. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΠΊΠ°ΠΊΠ²ΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ°Ρ ΡΠ°ΠΌ. ΠΡΠΌΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π‘ΡΠ°ΡΡΠΈΡΠ°Ρ ΠΌΠ΅. Π ΠΏΡΡΠ²ΠΎΡΠΎ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠ°Π·Π±ΡΠ°Ρ ΠΌΠ΅, Π±Π΅ΡΠ΅, ΡΠ΅ Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΡΠΈΠ΄Π° Π΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΈΡΠΊΠΈ ΠΎΠΏΡΠΈΠΈ Π·Π° Π³ΡΡΠΏΠΈΡΠ°Π½Π΅ ΡΠ° Π½ΡΠ»Π΅Π²ΠΈ, Ρ.Π΅. Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΡΠ»Π° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΠΌΡΠΊΠ²Π°ΠΌΠ΅ Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΠ° ΠΌΠ°ΡΠ°. Π’ΡΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π ΠΊΠ°ΠΊΠ²ΠΎ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅ ΡΡΠΊ? ΠΠΈΠΆΠ΄Π°ΠΌΠ΅, ΡΠ΅ ΠΈ ΡΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΠ° ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠ°Π²Π½ΠΈΠΌΠΈ. Π COPY Π΅, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅.
Π’ΠΎΠ²Π° Π΅, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΠΌΡΠΊΠ²Π°ΠΌΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ°. ΠΠΎΠ³Π°ΡΠΎ ΠΊΠ°Π·Π°Ρ ΠΌΠ΅, ΡΠ΅ Π΅Π΄Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ VALUES, Π΄Π²Π΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ VALUES, ΡΡΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ VALUES ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΡΠΈΡ ΠΌΠ΅ 10 ΠΎΡ ΡΡΡ , ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΡ Π·Π°ΠΏΠ΅ΡΠ°Ρ. Π’ΠΎΠ²Π° Π²Π΅ΡΠ΅ Π΅ Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ. 1, 2, 4, 128. ΠΠΈΠΆΠ΄Π° ΡΠ΅, ΡΠ΅ ΠΏΠ°ΡΡΠΈΠ΄Π°ΡΠ°, ΠΊΠΎΡΡΠΎ Π΅ Π½Π°ΡΠΈΡΡΠ²Π°Π½Π° Π² ΡΠΈΠ½ΡΠΎ, Π³ΠΎ ΠΊΠ°ΡΠ° Π΄Π° ΡΠ΅ ΡΡΠ²ΡΡΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅. Π’ΠΎΠ΅ΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ Π²ΠΌΡΠΊΠ²Π°ΡΠ΅ Π΅Π΄Π½ΠΎ ΠΏΠΎ Π΅Π΄Π½ΠΎ ΠΈΠ»ΠΈ Π΄ΠΎΡΠΈ ΠΊΠΎΠ³Π°ΡΠΎ Π²ΠΌΡΠΊΠ²Π°ΡΠ΅ ΡΠ΅ΡΠΈΡΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ, ΡΡΠ°Π²Π° Π΄Π²Π° ΠΏΡΡΠΈ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ, ΠΏΡΠΎΡΡΠΎ Π·Π°ΡΠΎΡΠΎ ΡΠΌΠ΅ Π½Π°ΡΡΠΏΠΊΠ°Π»ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π² VALUES. ΠΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ EXECUTE.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° COPY Π½Π° ΠΌΠ°Π»ΠΊΠΈ ΠΎΠ±Π΅ΠΌΠΈ Π΅ ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Π½Π΅ΠΎΠ±Π΅ΡΠ°Π²Π°ΡΠΎ. ΠΠΎΡΠΈ Π½Π΅ ΡΡΠΌ ΡΠΈΡΡΠ²Π°Π» Π½Π° ΠΏΡΡΠ²ΠΈΡΠ΅ Π΄Π²Π΅. Π’Π΅ ΠΎΡΠΈΠ²Π°Ρ Π² ΡΠ°Ρ, ΡΠΎΠ΅ΡΡ ΡΠ΅Π·ΠΈ Π·Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΠ»Π° Π·Π° ΠΠΠΠΠ ΠΠΠ.
COPY ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎΠ½Π΅ ΡΡΠΎ ΡΠ΅Π΄Π° Π΄Π°Π½Π½ΠΈ. Π Π°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΠ°Π·ΠΈ Π²ΡΡΠ·ΠΊΠ° ΡΠ° Π³ΠΎΠ»Π΅ΠΌΠΈ. Π, ΡΠ΅ΡΡΠ½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, Π½Π΅ ΡΡΠΌ ΠΊΠΎΠΏΠ°Π» Π² ΡΠ°Π·ΠΈ ΠΏΠΎΡΠΎΠΊΠ°. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ Batch, Π½ΠΎ Π½Π΅ ΠΈ COPY.
ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π°? ΠΡΠΎΠ±Π²Π°Ρ ΠΌΠ΅ Π³ΠΎ. Π Π°Π·Π±ΠΈΡΠ°ΠΌΠ΅, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ, ΠΈΠ»ΠΈ ΡΠΌΠ΅Π½ Π±Π°Ρ, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ΅ΡΠ°Π²Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΎΡ Π΄Π½Π΅ΡΠ½ΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄?
- PreparedStatement Π΅ Π½Π°ΡΠ΅ΡΠΎ Π²ΡΠΈΡΠΊΠΎ. Π’ΠΎΠ²Π° Π΄Π°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. Π’ΠΎΠ²Π° Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³ΠΎΠ»ΡΠΌ ΠΏΡΠΎΠ²Π°Π» Π² ΠΌΠ΅Ρ Π»Π΅ΠΌΠ°.
- Π ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ EXPLAIN ANALYSE 6 ΠΏΡΡΠΈ.
- Π Π½ΠΈΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·ΡΠ΅Π΄ΠΈΠΌ OFFSET 0 ΠΈ ΡΡΠΈΠΊΠΎΠ²Π΅ ΠΊΠ°ΡΠΎ +0, Π·Π° Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΠΌΠ΅ ΠΎΡΡΠ°Π²Π°ΡΠΈΡ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΎΡ Π½Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com