ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΡΡΡΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² β ΠΎΡ ΠΏΡΠΎΡΡΡΡ Π²ΡΠ±ΠΎΡΠΎΠΊ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ² Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΎΡΡΡΡΠΎΠ² Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ joins. Π‘ΠΊΠΎΡΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°ΠΏΡΡΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΡΡΠΊΡΡΡΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠ΄Π΅ΡΡ Π½Π° ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ β ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΊΠΎΡΡΡΡ ΠΏΠΎΠΈΡΠΊ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π½ΠΎ ΠΏΡΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠ³ΡΡ, Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, ΡΠΎΡΠΌΠΎΠ·ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡ Ρ Β«Π·Π°Π²ΠΈΡΠ°Π½ΠΈΠ΅ΠΌΒ» 1Π‘ ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΡΡΡΠ° ΠΈΠ»ΠΈ Π΄ΠΎΠ»Π³ΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠΊΡΡΡΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΏΡΠΈΡΠΈΠ½Π° ΡΠ°ΡΡΠΎ ΠΊΡΠΎΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΠ·Π±ΡΡΠΊΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°Π·Π±Π΅ΡΡΠΌ:
- π Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
- β‘ ΠΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠΊΠΎΡΡΡΡ, Π° Π² ΠΊΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Ρ
- β οΈ Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ
- π οΈ ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
ΠΠ°ΡΠ΅ΡΠΈΠ°Π» Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΊΠ°ΠΊ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ, ΡΠ°ΠΊ ΠΈ ΠΎΠΏΡΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΡΡ Π³Π»ΡΠ±ΠΆΠ΅ ΠΏΠΎΠ½ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ 1Π‘. ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»ΠΈΠΌ ΡΠΊΡΡΡΡΠΌ Β«ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΡΠΌ ΠΊΠ°ΠΌΠ½Ρм»», ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅Π΄ΠΊΠΎ ΠΏΠΈΡΡΡ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π½ΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π²Π»ΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ Π±Π°Π·Π°Ρ Ρ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² 1Π‘ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΡΡΡΠΎΠ΅Π½Ρ
ΠΠ½Π΄Π΅ΠΊΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Π±Π»ΠΈΡ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ ΠΊΠ½ΠΈΠ³Ρ: Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π»ΠΈΡΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π² ΠΏΠΎΠΈΡΠΊΠ΅ ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ, Π²Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ Π°Π»ΡΠ°Π²ΠΈΡΠ½ΡΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈ ΡΡΠ°Π·Ρ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΡΠ΅ Π½Π° Π½ΡΠΆΠ½ΡΡ Π±ΡΠΊΠ²Ρ. ΠΠ½Π΄Π΅ΠΊΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, Π½ΠΎ Π² ΡΠΈΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅.
Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² 1Π‘ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π‘Π£ΠΠ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Microsoft SQL Server ΠΈΠ»ΠΈ PostgreSQL). ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°ΡΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ:
- π ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΡΡΠΈΠΊΡΠ»Ρ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²)
- π Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ (ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ)
- π ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ»ΡΠΆΠ΅Π±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° (Π΄Π΅ΡΠ΅Π²ΡΡ ΠΏΠΎΠΈΡΠΊΠ°, Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΡ)
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, Π° Π»ΠΈΡΡ Π΄ΡΠ±Π»ΠΈΡΡΡΡ ΠΈΡ Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π²ΠΈΠ΄Π΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ:
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈINSERT,UPDATE,DELETE, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π‘Π£ΠΠ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΈ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
Π 1Π‘ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π±ΡΠ²Π°ΡΡ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ²:
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ β ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»Π΅
Π‘ΡΡΠ»ΠΊΠ°Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°Ρ ). - Π ΡΡΠ½ΡΠ΅ β Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Π΄Π»Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΠΏΠΎΠ»Π΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΡΡΠΈΠΊΡΠ»Π² Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ΅ ΠΈΠ»ΠΈΠΠ°ΡΠ°Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ ).
ΠΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠΊΠΎΡΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ (Π° ΠΊΠ°ΠΊΠΈΠ΅ β Π½Π΅Ρ)
ΠΠ½Π΄Π΅ΠΊΡΡ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ Β«ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Π΅ΠΌΒ» Π΄Π»Ρ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΡΠΌ, Π³Π΄Π΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ, Π° Π³Π΄Π΅ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²ΡΠ΅Π΄Π½ΠΎ.
| Π’ΠΈΠΏ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ | Π£ΡΠΊΠΎΡΡΠ΅ΡΡΡ Π»ΠΈ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ? | ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· 1Π‘ |
|---|---|---|
ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΡΠΎΡΠ½ΠΎΠΌΡ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΡ (=) |
β ΠΠ° (Π² 10β100 ΡΠ°Π·) | ΠΠΠ ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.ΠΡΡΠΈΠΊΡΠ» = "ABC123" |
ΠΠΎΠΈΡΠΊ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ (ΠΠΠΠ¬Π¨Π, ΠΠΠΠ¬Π¨Π) |
β ΠΠ° (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄Π»Ρ Π΄Π°Ρ ΠΈ ΡΠΈΡΠ΅Π») | ΠΠΠ ΠΠΎΠΊΡΠΌΠ΅Π½Ρ.ΠΠ°ΡΠ° ΠΠΠΠΠ£ &ΠΠ°ΡΠ°Π»ΠΎΠ &ΠΠΎΠ½Π΅Ρ |
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° (Π£ΠΠΠ Π―ΠΠΠ§ΠΠ’Π¬ ΠΠ) |
β ΠΠ° (ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ) | Π£ΠΠΠ Π―ΠΠΠ§ΠΠ’Π¬ ΠΠ ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ.ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ |
ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ΅ (ΠΠΠΠΠΠΠ, Π‘ΠΠΠΠ ΠΠΠ’) |
β ΠΠ΅Ρ (Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π΅ Π² Π½Π°ΡΠ°Π»Π΅) | ΠΠΠ ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠΠΠΠΠΠ "%Π±ΠΎΠ»Ρ%" |
ΠΠ³ΡΠ΅Π³Π°ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Π‘Π£ΠΠΠ, ΠΠΠΠΠ§ΠΠ‘Π’ΠΠ) |
β οΈ Π§Π°ΡΡΠΈΡΠ½ΠΎ (Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π‘Π£ΠΠ) | Π‘Π£ΠΠΠ(ΠΠΎΠΊΡΠΌΠ΅Π½Ρ.Π‘ΡΠΌΠΌΠ°ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°) |
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ: ΠΈΠ½Π΄Π΅ΠΊΡ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΡΡΠ°ΡΡΠ²ΡΠ΅Ρ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΠΎΡΠ±ΠΎΡΠ° ΠΈΠ»ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.Π¦Π΅Π½Π° Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π² Π·Π°ΠΏΡΠΎΡΠ΅:
ΠΠ«ΠΠ ΠΠ’Π¬
ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅,
ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.Π¦Π΅Π½Π°
ΠΠ
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ° ΠΠΠ ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°
ΠΠΠ
ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.ΠΠΎΡΡΠ°Π²ΡΠΈΠΊ = &ΠΠΎΡΡΠ°Π²ΡΠΈΠΊ
ΠΠ΄Π΅ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½ΡΠΆΠ΅Π½ ΠΏΠΎ ΠΏΠΎΠ»Ρ ΠΠΎΡΡΠ°Π²ΡΠΈΠΊ, Π° Π½Π΅ ΠΏΠΎ Π¦Π΅Π½Π°.
ΠΠ΅ΡΠ΅Π΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° Π² SQL Server Management Studio ΠΈΠ»ΠΈ pgAdmin. ΠΡΠ»ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Π‘Π£ΠΠ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π΄Π°ΡΡ ΠΏΡΠΈΡΠΎΡΡΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ.
ΠΠΎΠ³Π΄Π° ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΎΡΠΌΠΎΠ·ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ: 5 ΠΎΠΏΠ°ΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π²
ΠΠ½ΠΎΠ³ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Β«ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² β ΡΠ΅ΠΌ Π»ΡΡΡΠ΅Β». ΠΡΠΎ ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠ·Π±ΡΡΠΎΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ:
- π’ ΠΠ°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ (ΠΊΠ°ΠΆΠ΄Π°Ρ Π²ΡΡΠ°Π²ΠΊΠ°/ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²).
- πΎ Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π°Π·Ρ (ΠΈΠ½Π΄Π΅ΠΊΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π΄ΠΎ 30β50% ΠΎΡ ΠΎΠ±ΡΡΠΌΠ° Π΄Π°Π½Π½ΡΡ ).
- π ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΌ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΡ ΡΠ΄ΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ:
- ΠΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΠΏΠΎΠ»ΡΡ
Ρ Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ
Π‘Π΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ β ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ»Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ
ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.ΠΠ΄ΠΈΠ½ΠΈΡΠ°ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ(Π³Π΄Π΅ 90% Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«ΡΡ.Β») Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½: Π‘Π£ΠΠ ΠΏΡΠΎΡΠ΅ ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ. - ΠΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΡΠ°ΡΡΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡΡ
ΠΏΠΎΠ»ΡΡ
ΠΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ.ΠΠΎΠΌΠ΅ΡΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ), ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ Π½Π΅ΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. - ΠΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ
(ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ, ΠΠ°ΡΠ°, Π‘ΡΠΌΠΌΠ°)ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠ΅ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΠΎΠΉΠΊΠ΅. Π ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΎ ΠΏΡΡΡΠ°Ρ ΡΡΠ°ΡΠ° ΡΠ΅ΡΡΡΡΠΎΠ². - ΠΠ½Π΄Π΅ΠΊΡΡ Π½Π° Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΡ
ΠΏΠΎΠ»ΡΡ
Π 1Π‘ Π½Π΅Π»ΡΠ·Ρ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΡΡΠ°ΡΠΎΠΊ = ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ - Π Π΅Π·Π΅ΡΠ²). ΠΠΎΠΏΡΡΠΊΠΈ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΎ ΡΠ΅ΡΠ΅Π· ΡΡΠΈΠ³Π³Π΅ΡΡ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. - ΠΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ
Π‘Π£ΠΠ ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΡΡΡ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅. Π SQL Server ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
sys.dm_db_index_usage_stats.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π Π±Π°Π·Π°Ρ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ Π½Π° Π·Π°ΠΏΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΎΡΠ³ΠΎΠ²Π»Π΅ Ρ ΡΡΡΡΡΠ°ΠΌΠΈ ΡΠ΅ΠΊΠΎΠ² Π² ΡΠ°Ρ) ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌ (deadlocks), ΠΊΠΎΠ³Π΄Π° Π΄Π²Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΆΠ΄ΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² SQL Server?
Π SQL Server Management Studio Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡ:
SELECT
OBJECT_NAME(i.OBJECT_ID) AS Π’Π°Π±Π»ΠΈΡΠ°,
i.name AS ΠΠ½Π΄Π΅ΠΊΡ,
i.type_desc AS Π’ΠΈΠΏ,
s.user_seeks + s.user_scans + s.user_lookups AS ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΉ
FROM
sys.indexes i
LEFT JOIN
sys.dm_db_index_usage_stats s ON i.OBJECT_ID = s.OBJECT_ID AND i.index_id = s.index_id
WHERE
OBJECTPROPERTY(i.OBJECT_ID, 'IsUserTable') = 1
AND s.database_id = DB_ID()
AND s.user_seeks + s.user_scans + s.user_lookups = 0
ORDER BY
Π’Π°Π±Π»ΠΈΡΠ°, ΠΠ½Π΄Π΅ΠΊΡ;
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠ΅ΡΡΠ°ΡΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠ΅Π»ΠΎ ΡΠ΄Π°Π»ΡΡΡ (ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ).
ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² 1Π‘: ΠΏΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
ΠΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π² 1Π‘ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π‘Π£ΠΠ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π½Π° SQL Server ΠΈΠ»ΠΈ PostgreSQL.
π ΠΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΡΠ΅ΡΠ΅Π· ΠΠ»Π°Π½ Π·Π°ΠΏΡΠΎΡΠ° Π² 1Π‘
π ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΏΠΎΠ»Ρ (ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ)
π§ Π£Π±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ»Π΅ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ°ΡΡΠΎ
π ΠΡΠ΅Π½ΠΈΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ (ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ!)
-->
Π¨Π°Π³ 1. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Β«ΡΠ·ΠΊΠΈΡ ΠΌΠ΅ΡΡΒ»
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ 1Π‘:
- π ΠΡΡΠ½Π°Π» ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ (ΡΠ°Π·Π΄Π΅Π»
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β ΠΡΡΠ½Π°Π» ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ) β ΠΈΡΠΈΡΠ΅ Π΄ΠΎΠ»Π³ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. - π Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ (
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ β Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅) β ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². - π οΈ ΠΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° (Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π°ΠΆΠΌΠΈΡΠ΅
F9ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠ»Π°Π½Β»).
Π¨Π°Π³ 2. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
Π 1Π‘ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡ, Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ Π² Π‘Π£ΠΠ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ SQL Server:
-- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
CREATE INDEX IX_ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°_ΠΡΡΠΈΠΊΡΠ» ON dbo._Reference163 (ΠΡΡΠΈΠΊΡΠ»);
-- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΡΠ°Π²Π½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°
CREATE INDEX IX_ΠΠΎΠΊΡΠΌΠ΅Π½Ρ_ΠΠ°ΡΠ°_ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ ON dbo._Document123 (ΠΠ°ΡΠ°, ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ);
Π¨Π°Π³ 3. ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ
ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°:
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ β ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ (ΠΈΡΠΈΡΠ΅
Index SeekΠ²ΠΌΠ΅ΡΡΠΎTable Scan). - ΠΡΠ΅Π½ΠΈΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Π·Π°ΠΏΠΈΡΡ: Π΅ΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ
INSERT/UPDATEΠ·Π°ΠΌΠ΅Π΄Π»ΠΈΠ»ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π½Π° 20%, ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠΌ.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π 1Π‘:ΠΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ 8.3 ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΠ΅ΠΊΠ²ΠΈΠ·ΠΈΡΠ°) Π²ΡΠ΅ ΡΡΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ. ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΡ ΠΏΡΠΈΠ΄ΡΡΡΡ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ!
Π‘ΠΎΡΡΠ°Π²Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ: ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Π‘ΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ β ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠΌ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ½ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Ρ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠ’ΠΎΠ²Π°ΡΠΎΠ²Π£ΡΠ»ΡΠ³ ΡΠΈΠΏΠΈΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ«ΠΠ ΠΠ’Π¬
*
ΠΠ
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ.Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΠ’ΠΎΠ²Π°ΡΠΎΠ²Π£ΡΠ»ΡΠ³ ΠΠΠ Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
ΠΠΠ
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.ΠΠ°ΡΠ° ΠΠΠΠΠ£ &ΠΠ°ΡΠ°Π»ΠΎΠ &ΠΠΎΠ½Π΅Ρ
Π Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ.ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ = &ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»ΡΠΌ (ΠΠ°ΡΠ°, ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ). ΠΠ΄Π½Π°ΠΊΠΎ Π·Π΄Π΅ΡΡ Π΅ΡΡΡ Π²Π°ΠΆΠ½ΡΠ΅ Π½ΡΠ°Π½ΡΡ:
- π’ ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ Π²Π°ΠΆΠ΅Π½! ΠΠ½Π΄Π΅ΠΊΡ
(ΠΠ°ΡΠ°, ΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ)ΡΡΠΊΠΎΡΠΈΡ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ Π΄Π°ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΡ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΊΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ΅Π½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎΠΠΎΠ½ΡΡΠ°Π³Π΅Π½Ρ. - π ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ. Π SQL Server ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄ΠΎ 16 ΠΏΠΎΠ»Π΅ΠΉ, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ Ρ 2β4 ΠΏΠΎΠ»ΡΠΌΠΈ.
- π ΠΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΏΠΎ
ΠΠ°ΡΠ°ΠΈΠΠΎΠ½ΡΡΠ°Π³Π΅Π½ΡΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
Π Π±Π°Π·Π΅ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎ ΡΠΈΠ»ΡΡΡΠ°ΠΌ:
- ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΠΎΠ²Π°ΡΠ°
- ΠΡΠ΅Π½Π΄
- ΠΠ°Π»ΠΈΡΠΈΠ΅ Π½Π° ΡΠΊΠ»Π°Π΄Π΅
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ (ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, ΠΡΠ΅Π½Π΄, ΠΠ°Π»ΠΈΡΠΈΠ΅) ΡΡΠΊΠΎΡΠΈΡ Π²ΡΠ±ΠΎΡΠΊΡ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ:
- ΠΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ
ΠΠΠ. - ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ Π² Π·Π°ΠΏΡΠΎΡΠ΅ (ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ).
- Π‘Π΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Π²ΡΡΠΎΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ Π²ΡΠ΅ ΡΠΎΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΈ Π±ΡΠ΅Π½Π΄Ρ).
Π‘ΠΎΡΡΠ°Π²Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΠΏΠΎΠ»Π΅ΠΉ. ΠΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΡ Β«Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉΒ» β ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²: Π΄Π΅ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΠ΅
Π‘ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΡΡΡΡΡ β ΠΈΡ ΡΡΡΡΠΊΡΡΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ·-Π·Π° ΡΠ°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½ΡΡ . ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ:
- π ΠΠ°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΡΡΠ΅Π½ΠΈΡ (Π‘Π£ΠΠ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Β«ΠΏΡΡΠ³Π°ΡΡΒ» ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠ°ΡΡΡΠΌ Π΄ΠΈΡΠΊΠ°).
- π₯ Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π°Π·Ρ (ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°).
Π SQL Server ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠΌ:
SELECT
OBJECT_NAME(ind.OBJECT_ID) AS Π’Π°Π±Π»ΠΈΡΠ°,
ind.name AS ΠΠ½Π΄Π΅ΠΊΡ,
indexstats.avg_fragmentation_in_percent AS Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ_ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ²
FROM
sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED') indexstats
INNER JOIN
sys.indexes ind ON ind.OBJECT_ID = indexstats.OBJECT_ID AND ind.index_id = indexstats.index_id
WHERE
indexstats.avg_fragmentation_in_percent > 10 -- Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ 10%
ORDER BY
indexstats.avg_fragmentation_in_percent DESC;
ΠΠ°ΠΊ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ:
- ΠΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° (
REBUILD) β ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π»Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ > 30%:ALTER INDEX IX_ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°_ΠΡΡΠΈΠΊΡΠ» ON dbo._Reference163 REBUILD; - Π Π΅ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ (
REORGANIZE) β Β«ΠΌΡΠ³ΠΊΠ°ΡΒ» ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ 10β30%:ALTER INDEX IX_ΠΠΎΠΊΡΠΌΠ΅Π½Ρ_ΠΠ°ΡΠ° ON dbo._Document123 REORGANIZE;
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²:
- π ΠΠ»Π°Π½ΠΈΡΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π² ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ (Π½ΠΎΡΡΡ ΠΈΠ»ΠΈ Π² Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅).
- π ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
Π±Π°Π· (>100 ΠΠ) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
REBUILD WITH (ONLINE = ON), ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ. - π ΠΠΎΡΠ»Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ Π±Π°Π·Ρ β ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΌΠ΅Π½ΡΡΠΈΡΡΡΡ Π½Π° 5β20%.
β οΈ ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π 1Π‘ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π±Π°Π·ΠΎΠΉ (Π½Π΅ SQL) ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ, ΠΈ ΡΡΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°. ΠΡΠ΅ ΡΠΎΠ²Π΅ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΌΡ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ°Π±ΠΎΡΡ.
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ
ΠΠ°ΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ 1Π‘ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ². ΠΠΎΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ:
| ΠΡΠΈΠ±ΠΊΠ° | ΠΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΡ | ΠΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ |
|---|---|---|
| ΠΠ½Π΄Π΅ΠΊΡΡ Π½Π° Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡΡ | ΠΠ°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² 5β10 ΡΠ°Π·, ΡΠΎΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π°Π·Ρ | Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
Π² ΠΠΠ ΠΈΠ»ΠΈ Π£ΠΠΠ Π―ΠΠΠ§ΠΠ’Π¬ ΠΠ |
| ΠΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π‘Π£ΠΠ | ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΠ»Π°Π½Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² | Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ: EXEC sp_updatestats; |
ΠΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΠΏΠΎΠ»ΡΡ
Ρ ΡΠΈΠΏΠ°ΠΌΠΈ Π’Π΅ΠΊΡΡ ΠΈΠ»ΠΈ ΠΠ²ΠΎΠΈΡΠ½ΡΠ΅ΠΠ°Π½Π½ΡΠ΅ |
ΠΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±Π°Π·Ρ | ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ FULLTEXT-ΠΈΠ½Π΄Π΅ΠΊΡΡ (Π² SQL Server) |
| Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ | ΠΠ΅Π½ΡΠΆΠ½Π°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° tempdb |
ΠΠ½Π΄Π΅ΠΊΡΡ Π½Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ |
| ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° | ΠΠ°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ sys.dm_db_index_usage_stats Π΄Π»Ρ Π°ΡΠ΄ΠΈΡΠ° |
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠ· ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ:
Π ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π±Π°Π· 1Π‘:ERP ΠΏΠΎΡΠ»Π΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π½Π° Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠΎΡΠΌΠΎΠ·Π° ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π·Π°ΠΊΠ°Π·ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ². ΠΠ½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ:
- ΠΠ° ΡΠ°Π±Π»ΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΎ 12 ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² (Π²ΠΊΠ»ΡΡΠ°Ρ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΠ΅).
- ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π±ΡΠ» ΠΏΠΎ ΠΏΠΎΠ»Ρ
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ(ΡΠΈΠΏΠ‘ΡΡΠΎΠΊΠ°(2000)), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΡΡΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ . - Π‘Π£ΠΠ ΡΡΠ°ΡΠΈΠ»Π° Π΄ΠΎ 40% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅: ΡΠ΄Π°Π»ΠΈΠ»ΠΈ 7 ΠΈΠ· 12 ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ², ΠΎΡΡΠ°Π²ΠΈΠ² ΡΠΎΠ»ΡΠΊΠΎ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠ΅. ΠΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΎΡΡ Ρ 8 Π΄ΠΎ 1,5 ΡΠ΅ΠΊΡΠ½Π΄.
BEGIN TRANSACTION;
DROP INDEX IX_Π’Π΅ΡΡΠΎΠ²ΡΠΉ ON dbo._Document123;
-- ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ
-- ΠΡΠ»ΠΈ Π²ΡΡ Ρ
ΠΎΡΠΎΡΠΎ:
COMMIT TRANSACTION;
-- ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:
ROLLBACK TRANSACTION;
-->
FAQ: Π§Π°ΡΡΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ± ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ Π² 1Π‘
β Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅?
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ Π² SQL Server ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ β 999 ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π° ΡΠ°Π±Π»ΠΈΡΡ, Π½ΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ 10β15 ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠ΅Π·ΠΊΠΎ ΠΏΠ°Π΄Π°Π΅Ρ. ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ β 3β7 ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π½Π° ΡΠ°Π±Π»ΠΈΡΡ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
β ΠΠΎΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π·Π°ΠΏΡΠΎΡ ΡΡΠ°Π» ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅?
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
- Π‘Π£ΠΠ Π΅ΡΡ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ (Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅
UPDATE STATISTICS). - ΠΠ½Π΄Π΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΠ·ΠΊΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ ΠΏΠΎΠ»Ρ Ρ 2β3 ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ).
- ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡ Π²ΡΠ±ΡΠ°Π» Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ»Π°Π½ (ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ΅ΡΠ΅Π·
SET SHOWPLAN_TEXT ON). - ΠΠ°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΏΡΠ΅Π²ΡΡΠΈΠ»ΠΈ Π²ΡΠ³ΠΎΠ΄Ρ ΠΎΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΏΠ»Π°Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° β Π΅ΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠΎ Index Seek ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Index Scan, ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π΅Π½.
β ΠΡΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ DISTINCT?
ΠΠ°, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΠΎΠΊΡΡ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΡΠΊΠΎΡΠΈΡ Π·Π°ΠΏΡΠΎΡ:
ΠΠ«ΠΠ ΠΠ’Π¬ Π ΠΠΠΠΠ§ΠΠ«Π
ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°.ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΡ
ΠΠ
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ° ΠΠΠ ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°;
ΠΠ΄Π½Π°ΠΊΠΎ Π΅ΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π²ΡΠ΅Π³ΠΎ 5β10 ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π΅ Π΄Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΎΡΡΠ° ΡΠΊΠΎΡΠΎΡΡΠΈ.
β ΠΠ°ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ?
ΠΠ½Π΄Π΅ΠΊΡΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΡΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ . ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π΄Π»Ρ:
- Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· (Π ΠΠ) Π² 1Π‘.
- ΠΠ±ΠΌΠ΅Π½ΠΎΠ² Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ (EnterpriseData).
- ΠΠ»Π°ΡΡΠ΅ΡΠΎΠ² Ρ Always On Availability Groups (Π² SQL Server).
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡ: Π½Π° ΡΠ΅ΠΏΠ»ΠΈΡΠΈΡΡΠ΅ΠΌΡΡ ΡΠ·Π»Π°Ρ ΠΎΡΡΠ°Π²Π»ΡΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ.
β ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ΠΈΡΡΡΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ)?
ΠΠ΅Ρ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π² 1Π‘ Π½Π΅ Ρ ΡΠ°Π½ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ β ΠΎΠ½ΠΈ ΡΠΎΡΠΌΠΈΡΡΡΡΡΡ Β«Π½Π° Π»Π΅ΡΡΒ» ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅:
- Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ , Π»Π΅ΠΆΠ°ΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ°Π±Π»ΠΈΡΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°).
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (Π² PostgreSQL) ΠΈΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π²ΡΡΡ ΠΈ (Π² SQL Server) Π΄Π»Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π²ΡΠ±ΠΎΡΠΎΠΊ.
ΠΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ° Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ Π’ΠΎΠ²Π°ΡΡΠΠ°Π‘ΠΊΠ»Π°Π΄Π°Ρ
:
-- Π SQL Server
CREATE INDEX IX_Π Π΅Π³ΠΈΡΡΡ_ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°_Π‘ΠΊΠ»Π°Π΄
ON dbo._AccumRg123 (ΠΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΠ°, Π‘ΠΊΠ»Π°Π΄)
WHERE ΠΠ΅ΡΠΈΠΎΠ΄ BETWEEN '2023-01-01' AND '2023-12-31';