ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π² 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3 β ΡΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ°ΠΊ ΡΠΏΠ°ΡΡΠΈ Π²Π°ΡΡ Π±Π°Π·Ρ ΠΎΡ ΡΠΎΡΠΌΠΎΠ·ΠΎΠ², ΡΠ°ΠΊ ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π΅Ρ Π² Β«ΡΡΡΠ½ΡΠΉ ΡΡΠΈΠΊΒ» Ρ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΡΡΠΊΠΎΡΡΠ΅Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π² 10β100 ΡΠ°Π·, Π½ΠΎ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²Π΅Π΄ΡΡ ΠΊ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌΡ ΡΡΡΠ΅ΠΊΡΡ: Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π°Π·Ρ. ΠΡΠ° ΡΡΠ°ΡΡΡ Π½Π΅ ΠΏΡΠΎ Β«Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡΒ», Π° ΠΏΡΠΎ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ β ΠΎΡ Π°Π½Π°Π»ΠΈΠ·Π° Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄ΠΎ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π½Π°ΡΠ³Π°Π΄, ΠΊΠΎΠΏΠΈΡΡΡ ΡΡΠΆΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΡΡ ΡΠΎΠ²Π΅ΡΠ°ΠΌ ΠΈΠ· ΡΠΎΡΡΠΌΠΎΠ² 2010 Π³ΠΎΠ΄Π°. ΠΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌ, Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π² 1Π‘ ΠΊΠ°ΡΠ΄ΠΈΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π°ΡΡ Ρ Π²ΡΡ
ΠΎΠ΄ΠΎΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ 8.3.20+. ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΡΠΈΡΡΠ²Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ SQL-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (Π²ΠΊΠ»ΡΡΠ°Ρ PostgreSQL), ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΠΌ ΡΠΈΠΏΠΈΡΠ½ΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Β«ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΠΎΠΌΡ Ρ
Π°ΠΎΡΡΒ» β ΠΊΠΎΠ³Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΠ°ΡΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΡΠ΅ΠΌ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, ΠΎΡΠ²Π΅ΡΡΡΠ΅ ΡΠ΅Π±Π΅ Π½Π° ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΠ°:
- ΠΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Π²Π°ΡΠ΅ΠΉ Π±Π°Π·Π΅ ΡΠΎΡΠΌΠΎΠ·ΡΡ (ΠΎΡΡΡΡΡ, ΠΏΡΠΎΠ²ΠΎΠ΄ΠΊΠΈ, Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ²)?
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ SQL-ΡΠ΅ΡΠ²Π΅Ρ ΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅?
- ΠΠΎΡΠΎΠ²Ρ Π»ΠΈ Π²Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ?
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π² 1Π‘ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½Π° Π½ΡΠΆΠ½Π°
ΠΠ½Π΄Π΅ΠΊΡ Π² 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ β ΡΡΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠΌ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΠΊΠ½ΠΈΠ³Ρ Π±Π΅Π· ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΡ: ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π½ΡΠΆΠ½ΡΡ Π³Π»Π°Π²Ρ, Π²Π°ΠΌ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΏΡΠΎΠ»ΠΈΡΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ ΠΎΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π° Π΄Π»Ρ Π‘Π£ΠΠ (ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ).
Π 1Π‘ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠΎΠ»Π΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π‘ΡΡΠ»ΠΊΠ° Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°Ρ
), Π½ΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡ
Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ:
- π ΠΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ ΠΎΡΡΡΡΡ β Π΅ΡΠ»ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΎΡΡΡΡΠ° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 30 ΡΠ΅ΠΊΡΠ½Π΄, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ.
- π ΠΠΎΠ»Π³ΠΈΠΉ ΠΏΠΎΠΈΡΠΊ β ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΡ ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΠ½Π΄.
- π ΠΠ°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΡΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΊΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΡΡΡΡΠ°ΠΌΠΈ ΡΡΡΠΎΠΊ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ β ΡΡΠΎ Π½Π΅ ΠΏΠ°Π½Π°ΡΠ΅Ρ. ΠΠ½ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ (Π²ΡΡΠ°Π²ΠΊΡ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅), ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π±Π΅ΡΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π²Π΅Π΄ΡΡ ΠΊ Π΄Π΅Π³ΡΠ°Π΄Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΡΠΎΡΠΌΠΎΠ·ΡΡ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ»Π°Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π² ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅. ΠΠ½Π΄Π΅ΠΊΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Β«Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉΒ», ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π΄Π°, ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·Ρ.
2. ΠΠΈΠ΄Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π² 1Π‘: ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ
Π 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π΄Π²Π΅ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π³ΡΡΠΏΠΏΡ: Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ (ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ) ΠΈ ΡΡΡΠ½ΡΠ΅ (Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ). Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΈΠ΄Ρ:
| Π’ΠΈΠΏ ΠΈΠ½Π΄Π΅ΠΊΡΠ° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ | ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ |
|---|---|---|---|
| ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ | Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΠΈΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π‘ΡΡΠ»ΠΊΠ° Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°Ρ
). |
ΠΡΠ΅Π³Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. | ΠΠ΅Π»ΡΠ·Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. |
| ΠΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ | Π£ΡΠΊΠΎΡΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΠ°ΡΠ°). |
ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΎ ΠΈΡΡΡ ΠΈΠ»ΠΈ ΡΠΈΠ»ΡΡΡΡΡΡ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ. | ΠΠ°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ. |
| Π‘ΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ | ΠΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ + ΠΠ°ΡΠ°). |
ΠΠ»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠΌ. | ΠΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. |
| ΠΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ | ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ). |
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½Π° ΡΡΠ½ΠΊΡΠΈΡ Β«ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΠΊΡΡΡΒ». | Π’ΡΠ΅Π±ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ², Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅. |
ΠΡΠΎΠ±ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ Π·Π°ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡ Π²ΠΈΠ΄Π°:
ΠΠ«ΠΠ ΠΠ’Π¬ *
ΠΠ ΠΠΎΠΊΡΠΌΠ΅Π½Ρ.ΠΠ°ΠΊΠ°Π·ΠΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ
ΠΠΠ ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ = &ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ Π ΠΠ°ΡΠ° ΠΠΠΠΠ£ &ΠΠ°ΡΠ°ΠΠ°ΡΠ°Π»ΠΎ Π &ΠΠ°ΡΠ°ΠΠΎΠ½Π΅Ρ
ΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ (ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ, ΠΠ°ΡΠ°). ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠΊΠ°Π·Π°Π½Ρ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ½Π°ΡΠ°Π»Π° ΠΠ°ΡΠ°, ΠΏΠΎΡΠΎΠΌ ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ), ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ!
ΠΠΎΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ Π² ΡΠΎΡΡΠ°Π²Π½ΠΎΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ Π²Π°ΠΆΠ΅Π½?
Π‘Π£ΠΠ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Ρ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΡΠΎ ΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½Π΄Π΅ΠΊΡ (Π, Π) ΡΡΠΊΠΎΡΠΈΡ Π·Π°ΠΏΡΠΎΡ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΠΠ Π = 1 Π Π = 2, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈ ΠΠΠ Π = 2 (Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ Π Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠΈΠ»ΡΡΡΠ΅).
3. ΠΠ°ΠΊ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π² 1Π‘: ΠΏΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
ΠΡΠΎΡΠ΅ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π²Π°ΡΠ° Π±Π°Π·Π°: ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ (Ρ SQL-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ). Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°.
3.1. ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ 1Π‘
Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° 1Π‘ ΡΠ°ΠΌΠ° ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΠΎΠΉ Π΄Π°Π½Π½ΡΡ . ΠΠ΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ:
- π§ ΠΠ°ΡΡΡΠΎΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅.
- π ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π·Ρ (Π΄Π΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΡΠΆΠ°ΡΠΈΠ΅).
- β οΈ ΠΠ΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π‘Π£ΠΠ (ΠΊΠ°ΠΊ Π² SQL Server).
Π§ΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅
1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅. - ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π»
ΠΠ±ΡΠ΅ΠΊΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ β Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ(ΠΈΠ»ΠΈΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ). - ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ
ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°). - Π ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ² Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎΠ»Π΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΡΡΠΈΠΊΡΠ»). - Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ»Π°ΠΆΠΎΠΊ
ΠΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ. - Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ Π±Π°Π·Ρ|ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π½Π° Π΄ΠΈΡΠΊΠ΅ (ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ²Π΅Π»ΠΈΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π°)|ΠΠ°ΠΊΡΡΡΡ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· Π±Π°Π·Ρ|ΠΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ-->
3.2. ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ (SQL Server, PostgreSQL)
Π ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π‘Π£ΠΠ, ΡΡΠΎ Π΄Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π½Π°Π½ΠΈΠΉ SQL. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π³ΠΈ:
- ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΏΠΎΠ»Ρ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ
(ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
ΠΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°Π² 1Π‘). - ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· SQL Server Management Studio ΠΈΠ»ΠΈ pgAdmin Π΄Π»Ρ PostgreSQL).
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ SQL Server:
CREATE INDEX IX_Document_Sale_ContractorDateON [dbo].[Document_Sale] (Contractor, DocDate)
- ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² (Π² SQL Server β ΠΊΠΎΠΌΠ°Π½Π΄Π°
UPDATE STATISTICS). - ΠΡΠΎΡΠ΅ΡΡΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
ΠΠ»Ρ PostgreSQL ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΠΌ:
CREATE INDEX idx_document_sale_contractor_date
ON document_sale (contractor, doc_date);
Π ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π‘Π£ΠΠ, Π° Π½Π΅ Π² ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅ 1Π‘. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π·Π½Π°Π½ΠΈΠΉ SQL.
4. ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Β«ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ°Β» ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½ΡΠΆΠ½Ρ
Π‘ΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Β«Π²ΡΠ»Π΅ΠΏΡΡΒ» β Ρ ΡΠ΄ΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°. Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠ²ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π·Π°ΠΏΡΠΎΡΡ ΡΠΎΡΠΌΠΎΠ·ΡΡ, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ:
4.1. ΠΠ½Π°Π»ΠΈΠ· ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² 1Π‘
Π 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3 Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
- π ΠΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° β ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ Π‘Π£ΠΠ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΈ Π³Π΄Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ.
Π§ΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΎΡΠΊΡΡΡΡ:
- Π ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ Π·Π°ΠΏΡΠΎΡΠ° (
Π€Π°ΠΉΠ» β ΠΠΎΠ²ΡΠΉ β ΠΠ°ΠΏΡΠΎΡ). - ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π²Π°Ρ Π·Π°ΠΏΡΠΎΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ±ΠΎΡΠΊΠ° ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°).
- ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ
ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ(ΠΈΠ»ΠΈF5).
- Π ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ Π·Π°ΠΏΡΠΎΡΠ° (
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅).ΠΡΠΈΠΌΠ΅Ρ ΠΏΠ»Π°Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π³Π΄Π΅ Π²ΠΈΠ΄Π½ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
|--Clustered Index Scan(OBJECT:([dbo].[Document_Sale]...), WHERE:([DocDate]>=... AND [DocDate]<=...))
--Cost: 85% (ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ 85% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°ΠΏΡΠΎΡΠ° ΡΡΠ°ΡΠΈΡΡΡ Π½Π° ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ)
ΠΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ Clustered Index Scan ΠΈΠ»ΠΈ Table Scan Ρ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠΌ (Cost), ΡΡΠΎ ΡΠΈΠ³Π½Π°Π», ΡΡΠΎ Π½ΡΠΆΠ΅Π½ ΠΈΠ½Π΄Π΅ΠΊΡ.
4.2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SQL-ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²ΡΠΈΠΊΠ°
ΠΠ»Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π² ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π‘Π£ΠΠ:
- π₯οΈ Π SQL Server: SQL Server Profiler ΠΈΠ»ΠΈ Extended Events.
- π§ Π PostgreSQL:
EXPLAIN ANALYZEΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΠΎΡΠΎΠΌ.
ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ PostgreSQL:
EXPLAIN ANALYZE
SELECT * FROM document_sale
WHERE contractor = 'ΠΠΠ Π ΠΎΠΌΠ°ΡΠΊΠ°' AND doc_date BETWEEN '2026-01-01' AND '2026-01-31';
ΠΡΠ»ΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Seq Scan (ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅), Π·Π½Π°ΡΠΈΡ, ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ contractor ΠΈ doc_date ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½.
ΠΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΠΉΡΠ΅ΡΡ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ Β«ΡΡΠΆΡΠ»ΡΡ Β» Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΡΠΎΠ΅ΡΡΡ Π² ΡΠΎΡΠ½ΡΡ ΠΌΠ΅Π»ΠΊΠΈΡ Π²ΡΠ±ΠΎΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΡΠΌΠΌΠ΅ ΡΠΎΡΠΌΠΎΠ·ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
5. Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ
ΠΠ°ΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ 1Π‘ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠ΄ΡΡ Π½Π° Π½Π΅Ρ Π²ΡΠ΅ ΡΡΠΈΠ»ΠΈΡ ΠΏΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅:
- π« ΠΠ½Π΄Π΅ΠΊΡΡ Π½Π° Π²ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΏΠΎΠ΄ΡΡΠ΄ β Β«ΠΏΡΠΎ Π·Π°ΠΏΠ°ΡΒ» ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ:
- Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π°Π·Ρ Π² 2β3 ΡΠ°Π·Π°.
- ΠΠ°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°ΠΏΠΈΡΠΈ (Π²ΡΡΠ°Π²ΠΊΠ°/ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅).
- π ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΠΏΠΎΠ»Π΅ΠΉ Π² ΡΠΎΡΡΠ°Π²Π½ΡΡ
ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ
β ΠΈΠ½Π΄Π΅ΠΊΡ
(ΠΠΎΠ»Π΅1, ΠΠΎΠ»Π΅2)Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΈΠ»ΡΡΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΠΎΠ»Π΅2. - ποΈ ΠΠ΅ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² β ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π² Π±Π°Π·Π΅ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°ΡΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ.
- π ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Ρ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»Π΅
ΠΠΎΠΌΠ΅ΡΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ(Π³Π΄Π΅ 99% Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΠΎΠΆΡ) Π½Π΅ ΡΡΠΎΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΡΡ ΠΎΠ΄Π½Π° ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° β ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΡ
ΠΏΠΎΠ»Π΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π¦Π΅Π½Π° * ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, Π‘Π£ΠΠ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Π½Π΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ Π² Π±Π°Π·Π΅, Π° Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ Β«Π½Π° Π»Π΅ΡΡΒ».
ΠΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ?
Π SQL Server Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ:
SELECT * FROM sys.dm_db_index_usage_stats
WHERE database_id = DB_ID('ΠΠΌΡΠΠ°ΡΠ΅ΠΉΠΠ°Π·Ρ')
AND object_id = OBJECT_ID('ΠΠΌΡΠ’Π°Π±Π»ΠΈΡΡ');
ΠΡΠ»ΠΈ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ
user_seeks, user_scans ΡΡΠΎΡΡ Π½ΡΠ»ΠΈ β ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅
Π 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3.22+ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ°ΡΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ (Π΄ΠΎ 2023 Π³ΠΎΠ΄Π°), Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅Π°ΠΊΡΡΠ°Π»ΡΠ½Ρ. ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ.
6. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²: ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ β ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Π΄Π΅Π»Π°. Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ½ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΡΡΡΡΡ (ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΡΡΠΈ), ΡΡΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ. Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π²ΠΊΠ»ΡΡΠ°Π΅Ρ:
- π ΠΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² β Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ. Π SQL Server:
ALTER INDEX ALL ON [dbo].[Document_Sale] REBUILD; - π§Ή ΠΡΠΈΡΡΠΊΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ β ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
:
EXEC sp_updatestats; - ποΈ Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² β ΠΊΠ°ΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΌΡ ΡΠ°ΡΡΠΊΠ°Π·Π°Π»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅.
- π ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Performance Monitor (Π² Windows) ΠΈΠ»ΠΈ
pg_stat_activity(Π² PostgreSQL).
ΠΠ»Ρ 1Π‘ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ:
- Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Ρ (
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅). - ΠΠ΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ chdbfl.exe).
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΠ°Ρ ΡΠ°ΡΡΠΎΡΠ° ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ:
| Π’ΠΈΠΏ Π±Π°Π·Ρ | ΠΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² | ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ | Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ |
|---|---|---|---|
| SQL Server | Π Π°Π· Π² ΠΌΠ΅ΡΡΡ (ΠΈΠ»ΠΈ ΡΠ°ΡΠ΅ ΠΏΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅) | Π Π°Π· Π² Π½Π΅Π΄Π΅Π»Ρ | Π Π°Π· Π² ΠΊΠ²Π°ΡΡΠ°Π» |
| PostgreSQL | Π Π°Π· Π² 2 ΠΌΠ΅ΡΡΡΠ° | Π Π°Π· Π² Π½Π΅Π΄Π΅Π»Ρ | Π Π°Π· Π² ΠΊΠ²Π°ΡΡΠ°Π» |
| Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ | ΠΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ | ΠΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ | Π Π°Π· Π² ΠΌΠ΅ΡΡΡ |
Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΡΠ°ΠΊ ΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°. ΠΠ΅Π· ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π°ΠΆΠ΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΡΠ΅ΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ.
7. ΠΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ (1Π‘:Fresh, 1Π‘:ΠISPRU)
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ 1Π‘:Fresh ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±Π»Π°ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ (1Π‘:ΠISPRU, 1Π‘:ΠΠΈΠ½ΠΊ), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π²:
- π§ ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π‘Π£ΠΠ Π»Π΅ΠΆΠΈΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°.
- π ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
- β οΈ ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ (Π½ΠΎ ΡΡΠΎ ΠΏΠ»Π°ΡΠ½Π°Ρ ΡΡΠ»ΡΠ³Π°).
- ΠΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
ΠΠ»Π°Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. - ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠ΄ Π·Π°ΠΏΡΠΎΡΠΎΠ²:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
ΠΠΠΠΠ Π‘ΠΠΠΠΠΠΠΠΠΠ²ΠΌΠ΅ΡΡΠΎΠΠΠΠΠΠ Π‘ΠΠΠΠΠΠΠΠΠ, Π³Π΄Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. - ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π²ΠΈΠ΄Π°
ΠΠΠ ΠΠΠΠ‘Π’Π ΠΠΠ(ΠΠΎΠ»Π΅, 1, 3) = "ΠΠΠ"β ΠΎΠ½ΠΈ Π±Π»ΠΎΠΊΠΈΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ².
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
- ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΎΠ±Π»Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ:
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅
Π 1Π‘:Fresh Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°ΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ²) ΠΌΠΎΠ³ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π²Π΅Π΄ΡΡ ΠΊ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π° Π½ΠΎΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
8. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ: ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π»Ρ ΡΠΈΠΏΠΎΠ²ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΊΠ΅ΠΉΡΠΎΠ², Π³Π΄Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΊΠΎΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ.
8.1. Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΡΡΠΎΠ² Π² Β«1Π‘:ΠΡΡ Π³Π°Π»ΡΠ΅ΡΠΈΡ 3.0Β»
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°: ΠΎΡΡΡΡ Β«ΠΠ±ΠΎΡΠΎΡΠ½ΠΎ-ΡΠ°Π»ΡΠ΄ΠΎΠ²Π°Ρ Π²Π΅Π΄ΠΎΠΌΠΎΡΡΡΒ» Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ 5 ΠΌΠΈΠ½ΡΡ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ
(Π‘ΡΠ΅Ρ, ΠΠ΅ΡΠΈΠΎΠ΄, ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ)Π² ΡΠ°Π±Π»ΠΈΡΠ΅AccumulationRegister_Balance. - ΠΠ»Ρ SQL Server:
CREATE INDEX IX_Balance_AccountPeriodOrgON [dbo].[AccumulationRegister_Balance] (Account, Period, Organization);
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ: Π²ΡΠ΅ΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΎΡΡΡΡΠ° ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΎΡΡ Π΄ΠΎ 20 ΡΠ΅ΠΊΡΠ½Π΄.
8.2. ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π² Β«1Π‘:Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΠ³ΠΎΠ²Π»Π΅ΠΉ 11Β»
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°: ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°Ρ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Β«Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈ ΡΡΠ»ΡΠ³Β» (Π±ΠΎΠ»Π΅Π΅ 1 ΠΌΠΈΠ½ΡΡΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ).
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
- ΠΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΡΠ²ΠΈΡΡ, ΡΡΠΎ ΡΠΎΡΠΌΠΎΠ·ΠΈΡ Π²ΡΠ±ΠΎΡΠΊΠ° ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅
Document_Sale. - Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ
(DocKind, DocDate, Organization).
8.3. Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊΠ° Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°Ρ Β«1Π‘:ΠΠ°ΡΠΏΠ»Π°ΡΠ° ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΎΠΌΒ»
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°: ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΡ Β«Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈΒ» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 10+ ΡΠ΅ΠΊΡΠ½Π΄.
Π Π΅ΡΠ΅Π½ΠΈΠ΅:
- ΠΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ
Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉΠΠΎΠΌΠ΅Ρ(Π΅ΡΠ»ΠΈ ΠΏΠΎΠΈΡΠΊ ΠΈΠ΄ΡΡ ΠΏΠΎ Π½Π΅ΠΌΡ). - Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅: Π² ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΏΠΎΠ»Π΅
Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉΠΠΎΠΌΠ΅ΡΠΊΠ°ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠ΅.
ΠΠΎΡΠ΅ΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ "ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅" Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ?
ΠΠΎΠ»Π΅ ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΠΠΠΠΠΠΠ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΠΠ ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠΠΠΠΠΠ "ΠΠ²Π°Π½%"). Π’Π°ΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ. ΠΠ»Ρ Π½ΠΈΡ
Π½ΡΠΆΠ½Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΎΠ΄Π΅ trigram-ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π² PostgreSQL.
FAQ: Π§Π°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ Π² 1Π‘
β ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π² 1Π‘ Π±Π΅Π· Π΄ΠΎΡΡΡΠΏΠ° ΠΊ SQL-ΡΠ΅ΡΠ²Π΅ΡΡ?
Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ β Π΄Π°, ΡΠ΅ΡΠ΅Π· ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ (ΠΎΡΠΌΠ΅ΡΠΈΠ² ΠΏΠΎΠ»Π΅ ΠΊΠ°ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠ΅). Π ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π±Π΅Π· Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π‘Π£ΠΠ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ:
- ΠΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°.
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
β ΠΠΎΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅?
ΠΡΠΎ ΡΠΈΠΏΠΈΡΠ½Π°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
- Π‘Π£ΠΠ Π΅ΡΡ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ Π½ΠΎΠ²ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ (Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅
UPDATE STATISTICS). - ΠΠ½Π΄Π΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠ·ΠΊΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ ΠΏΠΎΠ»Ρ Ρ Π΄Π²ΡΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ).
- ΠΠ°ΠΏΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°Π΄ ΠΏΠΎΠ»Π΅ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΠΠ ΠΠΠ(ΠΠ°ΡΠ°) = 2026), ΡΡΠΎ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° β Π΅ΡΠ»ΠΈ Π‘Π£ΠΠ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Π³ΠΎ ΡΡΠΎΠΈΡ ΡΠ΄Π°Π»ΠΈΡΡ.
β ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΆΠ΅ Π΅ΡΡΡ Π² Π±Π°Π·Π΅?
Π SQL Server Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ:
SELECT
t.name AS TableName,
i.name AS IndexName,
c.name AS ColumnName
FROM
sys.indexes i
INNER JOIN
sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
INNER JOIN
sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
INNER JOIN
sys.tables t ON i.object_id = t.object_id
WHERE
i.type_desc = 'NONCLUSTERED'
ORDER BY
t.name, i.name, ic.key_ordinal;
Π PostgreSQL:
SELECT
tablename,
indexname,
indexdef
FROM
pg_indexes
WHERE
schemaname = 'public'
ORDER BY
tablename, indexname;
β ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Ρ ΡΠΈΠΏΠ° Β«ΠΡΠ»Π΅Π²ΠΎΒ»?
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅Ρ. ΠΠΎΠ»Ρ Ρ Π΄Π²ΡΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ (ΠΡΡΠΈΠ½Π°/ΠΠΎΠΆΡ) ΠΈΠΌΠ΅ΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π½ΠΈΠ·ΠΊΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ, ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ Π½ΠΈΠΌ Π½Π΅ ΠΏΡΠΈΠ½Π΅ΡΡΡ Π²ΡΠ³ΠΎΠ΄Ρ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ β Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΠΠ ΠΏΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅Ρ
Π·Π°ΠΏΡΠΎΡΠ°Ρ
ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, ΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠ°Ρ (ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ).
β ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π² 1Π‘?
ΠΠ΅Ρ, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ (ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΠ’ Π² Π·Π°ΠΏΡΠΎΡΠ΅) ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ.