ΠΠ°ΠΊΠΎΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΡΠΎΡ: B-tree, GIN, GiST, BRIN, hash
B-tree β ΡΠ°Π±ΠΎΡΠ°Ρ Π»ΠΎΡΠ°Π΄ΠΊΠ°: ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ, ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΠΏΡΠ΅ΡΠΈΠΊΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅; ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ 90% Π·Π°Π΄Π°Ρ ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ORDER BY Π±Π΅Π· ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. GIN β Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²: ΠΌΠ°ΡΡΠΈΠ²Ρ, JSONB, ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΠΈΡΠΊ, ΡΡΠΈΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ LIKE '%ΡΠ΅ΠΊΡΡ%'; Π±ΡΡΡΡΡΠΉ Π½Π° ΡΡΠ΅Π½ΠΈΠ΅, Π΄ΠΎΡΠΎΠ³ΠΎΠΉ Π½Π° Π·Π°ΠΏΠΈΡΡ, ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· fastupdate. GiST β Π΄Π»Ρ Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΠΈ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π½ΡΡ
ΡΠΈΠΏΠΎΠ² ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ; ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠΈΡΠΊ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΡ
ΡΠΎΡΠ΅Π΄Π΅ΠΉ. BRIN β ΠΊΡΠΎΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠ°Π±Π»ΠΈΡ, Π³Π΄Π΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΡΡΠΎΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ: Π»ΠΎΠ³ΠΈ ΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ; Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠΎΠ², Π½ΠΎ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π΅Π½ Π½Π° Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
. Hash β ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ PostgreSQL 10 ΠΆΡΡΠ½Π°Π»ΠΈΡΡΠ΅ΡΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, Π½ΠΎ Π²ΡΠΈΠ³ΡΡΠ²Π°Π΅Ρ Ρ B-tree ΡΠ΅Π΄ΠΊΠΎ. ΠΡΠ±ΠΎΡ Π΄ΠΈΠΊΡΡΠ΅Ρ Π½Π΅ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
, Π° ΡΠΎΡΠΌΠ° ΠΏΡΠ΅Π΄ΠΈΠΊΠ°ΡΠ° Π² Π·Π°ΠΏΡΠΎΡΠ΅.