ποΈπ ΠΠΎΡΠ΅ΠΌΡ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΌΠΎΠ·ΠΈΡ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ
ΠΡ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ: ΠΎΡΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ»ΠΈ ΠΊΠΎΠ΄ Π΄ΠΎ Π±Π»Π΅ΡΠΊΠ°, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ. ΠΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΠΎΡΠΌΠΎΠ·ΠΈΡ. ΠΠΎΡΠ΅ΠΌΡ? ΠΠ΅Π»ΠΎ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ : ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π° ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ, Π° Π·Π°ΠΏΡΠΎΡΡ ΠΊ ΠΠ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΡΠ»ΠΈ Π½Π΅ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, API Π±ΡΠ΄Π΅Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ β Π½Π΅Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ, Π° ΡΠΈΡΡΠ΅ΠΌΠ° β Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅.

ΠΠΎΡΠ΅ΠΌΡ ΠΠ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΈΡΠ°Π΅Ρ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Ρ Π΄ΠΈΡΠΊΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ. ΠΠ°ΠΆΠ΅ Ρ SSD ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄Π²ΠΈΠΆΠΊΠ°ΠΌΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ Π΄ΠΈΡΠΊΡ ΠΈ ΡΠ΅ΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ²ΡΠ·Π°Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ? ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΈ:
- ΠΠ°ΠΏΡΠΎΡΡ ΠΊ API Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ Π²ΡΡΠΎΠΊΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° CPU.
- ΠΠ°ΠΏΡΠΎΡΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΡΡΠ° ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ .
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»ΠΎΡ ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠΈ ΡΠΈΠΌΠΏΡΠΎΠΌΡ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΡΠ° Π·Π°Π½ΡΡΡΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ

ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΡΠΈΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΡΡΠΏΠ½Π°Ρ Π‘Π£ΠΠ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²:
- MySQL ΠΈ PostgreSQL β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
EXPLAIN ANALYZE
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠ»Π°Π½Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². - MongoDB β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
.explain()
, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°. - ΠΠΎΠ³ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² β Π²ΡΡΠ²ΠΈΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ.
ΠΠ°ΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ±ΠΎΡΠΊΡ, ΠΈ Π²ΡΡΠ²ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ:
EXPLAIN ANALYZE SELECT * FROM orders WHERE status = 'pending';
ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΌΠ΅ΡΡΠΈΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠΎΠ½ΠΈΡΠΎΡΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ :
- ΠΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² β ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅?
- ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈ ΡΡΠ΅Π½ΠΈΠΈ/Π·Π°ΠΏΠΈΡΠΈ β ΠΈΡΠΏΡΡΡΠ²Π°Π΅Ρ Π»ΠΈ Π±Π°Π·Π° Π½Π°Π³ΡΡΠ·ΠΊΡ ΠΈΠ·-Π·Π° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ?
- ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ β Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π»ΠΈ Π·Π°ΠΏΡΠΎΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°?
- ΠΡΠ» ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ β Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π»ΠΈ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Ρ Π±Π°Π·ΠΎΠΉ?
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠΎΠ³Π΄Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΌΠ΅ΡΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Ρ ΠΈ Π½Π°ΡΡΡΠ°ΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π²Π·Π°ΠΈΠΌΠ½ΡΠΌ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌ (Π΄Π΅Π΄Π»ΠΎΠΊΠ°ΠΌ), ΠΊΠΎΠ³Π΄Π° Π΄Π²Π΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΠΎΠΊΠ° Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ. ΠΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π·Π°Π²ΠΈΡΠ°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ.
Π’ΠΈΠΏΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ.
1. ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊ:
- ΠΠ»ΠΎΠΊΠΈΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
- ΠΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ OLTP-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
2. ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°Π±Π»ΠΈΡ:
- ΠΠ»ΠΎΠΊΠΈΡΡΡΡ Π²ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
- ΠΠΎΠ³ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ.
3. Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΈ ΡΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ:
- Π Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ .
- ΠΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π±Π»ΠΎΠΊΠΈΡΡΡΡ Π²Π΅ΡΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ
ΠΡΠΈ ΠΌΠ΅ΡΡ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ :
- ΠΠ΅Π»Π°ΠΉΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌΠΈ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ (Π²ΡΠΏΠΎΠ»Π½ΡΠΉΡΠ΅
commit
ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π½ΡΡΠ΅). - ΠΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ Π² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ .
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π½Π΅Π½ΡΠΆΠ½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ.
- ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
SHOW ENGINE INNODB STATUS;
(Π΄Π»Ρ MySQL) ΠΈpg_stat_activity
(Π΄Π»Ρ PostgreSQL).
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² β ΡΡΠΎ Π±ΡΡΡΡΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ»ΡΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ²Π΅ΡΠΎΠ², ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ (Π½ΠΎ Ρ ΡΠΌΠΎΠΌ!)
ΠΠ½Π΄Π΅ΠΊΡΡ ΡΡΠΊΠΎΡΡΡΡ ΠΏΠΎΠΈΡΠΊ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Ρ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π½Π°Π΄ΠΎ ΠΎΠ±Π΄ΡΠΌΠ°Π½Π½ΠΎ.
β ΠΠ»ΠΎΡ
ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ (Π±Π΅Π· ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° email
):
SELECT * FROM users WHERE email = 'user@example.com';
β ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ (Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ):
CREATE INDEX idx_email ON users(email);
Π‘ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΡΠ°Π·Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π° Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ.
βΠΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ:
Π‘Π»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ (INSERT, UPDATE, DELETE). ΠΠ½Π΄Π΅ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°ΡΡΠΎ ΠΈΡΠ΅ΡΠ΅.
ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ SELECT *, Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π° Π½ΡΠΆΠ½Ρ Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ ΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΡΡΡΡ.
β ΠΠ΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ:
SELECT * FROM orders WHERE status = 'pending';
β ΠΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ:
SELECT id, customer_id, total_price FROM orders WHERE status = 'pending';
Π’Π°ΠΊ Π·Π°ΠΏΡΠΎΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±ΡΡΡΡΠ΅Π΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ JOIN, ΠΈΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²
ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠΌΠ΅ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ JOIN, Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΠΌ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌ.
β ΠΠ»ΠΎΡ ΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ:
SELECT * FROM orders WHERE customer_id IN (SELECT id FROM customers WHERE city = 'Moscow');
β ΠΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ JOIN):
SELECT orders.order_id FROM orders JOIN customers ON orders.customer_id = customers.id WHERE customers.city = 'Moscow';
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π Π°Π·Π±Π΅ΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ².
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΡ Π΅ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π‘ΡΡΡΠΊΡΡΡΠ° ΡΠ°Π±Π»ΠΈΡ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ»ΠΎΡ Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠ°ΠΌ, Π²ΡΡΠΎΠΊΠΈΠΌ Π·Π°ΡΡΠ°ΡΠ°ΠΌ Π½Π° Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠΎΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½ ΡΡ Π΅ΠΌΡ Π΄Π»Ρ Π»ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ:
1. ΠΠ°ΠΉΡΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΈ Π΄Π΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ
ΠΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ (3ΠΠ€ ΠΈ Π²ΡΡΠ΅) ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ Π½Π° ΠΌΠ΅Π½ΡΡΠΈΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ.
- ΠΠ»ΡΡΡ: ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈ ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
- ΠΠΈΠ½ΡΡΡ: ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅, ΠΈΠ·-Π·Π° ΠΈΠ·Π±ΡΡΠΎΡΠ½ΡΡ JOIN-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ.
ΠΠ΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ JOIN-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π΄Π΅Π»Π°Ρ ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΡΡΡΠ΅Π΅ Π·Π° ΡΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ.
- ΠΠ»ΡΡΡ: ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠΈΡ Π½Π°Π³ΡΡΠ·ΠΎΠΊ Ρ ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ.
- ΠΠΈΠ½ΡΡΡ: ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ , Π΅ΡΠ»ΠΈ Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
π‘ΠΠ±ΡΠ΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ:
- ΠΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠΉΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠΆΠΈΠ΄Π°Π΅ΡΠ΅ ΡΠ°ΡΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ.
- ΠΠ΅Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΠΉΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠ΅ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ.
2. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ:
- ΠΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ BIGINT Π²ΠΌΠ΅ΡΡΠΎ UUID Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π΅ΡΠ»ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . Π’ΠΈΠΏ BIGINT ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π»ΡΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ° Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ BOOLEAN Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ true/false. ΠΡΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ .
- ΠΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠΈΠΏΡ TEXT ΠΈ JSONB ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎ. ΠΠΎΠΈΡΠΊ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΠΌΡΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ (VARCHAR, INTEGER, TIMESTAMP) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅.
ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΡΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Redis, Memcached). ΠΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
β ΠΡΠΈΠΌΠ΅Ρ: Π±Π΅Π· ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΊ Π±Π°Π·Π΅:
query_result = db.execute("SELECT * FROM orders WHERE user_id = 123")
β Π‘ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² Redis, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΡΠ°Π· Π² 5 ΠΌΠΈΠ½ΡΡ):
query_result = cache.get("user_123_orders") if not query_result: query_result = db.execute("SELECT * FROM orders WHERE user_id = 123") cache.set("user_123_orders", query_result, expire=300) # ΠΠ°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ 5 ΠΌΠΈΠ½ΡΡ
ΠΠ΄Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅:
- Π§Π°ΡΡΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (SELECT-Π·Π°ΠΏΡΠΎΡΡ, ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ).
- ΠΠ°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π΄ΠΊΠΎ ΠΌΠ΅Π½ΡΡΡΡΡ (ΡΠΏΠΈΡΠΊΠΈ ΡΠΎΠ²Π°ΡΠΎΠ², ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ).
- Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
ΠΡΠΊΡΡΡΠΈΠ΅ ΠΈ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Ρ Π±Π°Π·ΠΎΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠ΅ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ»Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, pgbouncer Π΄Π»Ρ PostgreSQL), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΆΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ .
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ β ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ SQL-Π·Π°ΠΏΡΠΎΡΠ°, ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
ΠΠ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ:
- ΠΠ°ΠΏΡΠΎΡ ΠΎΡΠ΅Π½Ρ ΡΡΠΆΠ΅Π»ΡΠΉ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΡΠ΅ΡΡ, Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°).
- ΠΠ°Π½Π½ΡΠ΅ Π½Π΅ ΡΡΠ΅Π±ΡΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡΠΎΡΠ½ΡΠ΅ ΠΎΡΡΠ΅ΡΡ ΠΏΠΎ ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ).
- Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΡΠΊΠΎΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ: ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ΅ΡΠ° ΠΏΠΎ ΠΏΡΠΎΠ΄Π°ΠΆΠ°ΠΌ
ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ ΡΠ°ΡΡΠΎ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌ Π΄Π½Π΅Π²Π½ΡΠ΅ ΠΏΡΠΎΠ΄Π°ΠΆΠΈ ΠΈΠ· ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ orders.
β ΠΠ±ΡΡΠ½ΡΠΉ SQL-Π·Π°ΠΏΡΠΎΡ (ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ, Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ):
SELECT order_date, SUM(total_price) AS daily_sales FROM orders GROUP BY order_date;
β Π Π΅ΡΠ΅Π½ΠΈΠ΅ β ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅:
CREATE MATERIALIZED VIEW daily_sales AS SELECT order_date, SUM(total_price) AS total_sales FROM orders GROUP BY order_date;
Π’Π΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ:
SELECT * FROM daily_sales;
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ:
- ΠΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ β Π΅ΡΠ»ΠΈ Π² orders ΠΏΠΎΡΠ²ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅. ΠΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
- ΠΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
- ΠΠ°Π½ΠΈΠΌΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΌΠ΅ΡΡΠΎ Π² Π±Π°Π·Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ.
Π¨Π°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΎΠ³Π΄Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ, ΠΎΠ±ΡΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡΡΡ, Π° Π½Π°Π³ΡΡΠ·ΠΊΠ° Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°ΡΡΠ΅Ρ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ β ΡΠ°Π·Π±ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ°ΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ:
- Π¨Π°ΡΠ΄ΠΈΠ½Π³ β ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ. ΠΡΠΈΠΌΠ΅Ρ β ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΡΠ΅Π³ΠΈΠΎΠ½Π°ΠΌ: users_us (ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ· Π‘Π¨Π), users_eu (ΠΈΠ· ΠΠ²ΡΠΎΠΏΡ), users_asia (ΠΈΠ· ΠΠ·ΠΈΠΈ). ΠΠ°ΠΏΡΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±ΡΡΡΡΠ΅Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π° Π½Π΅ Π²ΡΠ΅Ρ ΡΡΠ°Π·Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ Π±Π°Π·Ρ (Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ) ΠΏΡΠΈ ΡΠΎΡΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.
- Π‘Π΅ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΠ°ΡΡΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅) β ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈ. ΠΡΠΈΠΌΠ΅Ρ β ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΠΌ Π·Π°ΠΊΠ°Π·Ρ ΠΏΠΎ Π³ΠΎΠ΄Π°ΠΌ: orders_2023, orders_2024, orders_2025. ΠΠ°ΠΏΡΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠ°ΡΡΠΈΡΠΈΠΈ, Π° Π½Π΅ Π²ΡΡ ΡΠ°Π±Π»ΠΈΡΡ. Π‘ΡΠ°ΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ (Π² Π°ΡΡ ΠΈΠ²Π΅).
Π Π΅ΠΏΠ»ΠΈΠΊΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ.
ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ:
- ΠΡΠ½ΠΎΠ²Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ (INSERT, UPDATE, DELETE) ΠΈ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅.
- Π Π΅ΠΏΠ»ΠΈΠΊΠΈ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ (ΠΊΠΎΠΏΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ) ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅ (SELECT).
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΡΡΠΏΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ:
- ΠΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ β ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π±Π°Π·Ρ.
- ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ β Π΅ΡΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π±Π°Π·Π° Π²ΡΠΉΠ΄Π΅Ρ ΠΈΠ· ΡΡΡΠΎΡ, Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΡΠ°Π½ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°Ρ .
- ΠΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ β Π΄Π°ΠΆΠ΅ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ Π½Π° ΡΠ΅ΠΏΠ»ΠΈΠΊΡ.
Π Π΅ΠΏΠ»ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ, ΡΡΠΎΠ±Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡΡΠ°Π²Π°Π»ΠΈΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ.
ΠΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΈΡΠΎΠ³ΠΈ
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΡΠ»Π°Π±ΡΠΌ Π·Π²Π΅Π½ΠΎΠΌ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π±ΡΡΡΡΠΎΠΉ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ°ΠΆΠ½ΠΎ:
- ΠΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ»Π΅ΠΏΡΡ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π»ΠΎΠ³ΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ.
- ΠΠ°ΡΠ°ΡΡ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² β ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ JOIN ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ΡΠ°ΡΡ 80% ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ β ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΊΠ»ΡΡΠΈΠ² ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ Π·Π°ΠΏΡΠΎΡΡ.
- ΠΡΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ β ΡΠ°ΡΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ°ΡΡΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘Π»Π΅Π΄ΡΡ ΡΡΠΈΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΡΠΌ, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΡΠ°Π½ΠΈΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° ΠΈ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΡΡΠ΅ Π½Π°Π³ΡΡΠ·ΠΊΠΈ.