Π Π°Π±ΠΎΡ‚Π° с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… Π² соврСмСнных ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах часто упираСтся Π² ΠΎΠ΄Π½Ρƒ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ β€” ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ поиска. Когда учСтная систСма разрастаСтся Π΄ΠΎ сотСн тысяч ΠΈΠ»ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй, стандартный ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² становится Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ИмСнно здСсь Π½Π° сцСну Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ эффСктивноС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ высоконагруТСнных систСм нСмыслимо.

Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ Π² 1Π‘ прСдставляСт собой процСсс создания ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… слуТСбных структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π‘Π£Π‘Π” Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ записи ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Π½Π΅ просматривая всю Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт администрирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит врСмя формирования ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ открытия слоТных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ задавались вопросом, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚Ρ‡Π΅Ρ‚ формируСтся Π·Π° сСкунду, Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠΎ структурС висит полчаса, Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда кроСтся Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ использования индСксов. ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π½Π΅ просто Π³Π°Π΄Π°Ρ‚ΡŒ ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ… Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ², Π° Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ индСксация ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π‘Π£Π‘Π”

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ сСбС ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Π³Π΄Π΅ ΠΊΠ½ΠΈΠ³ΠΈ расставлСны Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΎΠΌ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ€ΡŽ придСтся ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ стСллаТ ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΡ€Π΅ΡˆΠΊΠΈ всСх ΠΊΠ½ΠΈΠ³. Π’ ΠΌΠΈΡ€Π΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… этот процСсс называСтся ΠΏΠΎΠ»Π½Ρ‹ΠΌ сканированиСм Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Full Table Scan). Он consumes ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡŒΠ½Ρ‹Π΅ рСсурсы процСссора ΠΈ дисковой подсистСмы, особСнно ΠΊΠΎΠ³Π΄Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° содСрТит ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ строк.

ИндСкс Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅. Он Ρ…Ρ€Π°Π½ΠΈΡ‚ отсортированныС значСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ссылки Π½Π° физичСскоС располоТСниС записСй Π½Π° дискС. Когда систСма ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ запрос с условиСм поиска, ΠΎΠ½Π° обращаСтся сначала ΠΊ индСксу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС самой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, быстро Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ адрСса ΠΈ считываСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

Π’ контСкстС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π‘Π£Π‘Π” (Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ MS SQL Server, PostgreSQL ΠΈΠ»ΠΈ Oracle), ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ индСксации управляСтся ΠΊΠ°ΠΊ самой Π‘Π£Π‘Π”, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π·Π°Π΄Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ структуру индСксов Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅, Π° физичСская рСализация лоТится Π½Π° ΠΏΠ»Π΅Ρ‡ΠΈ сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ количСства индСксов ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ эффСкту. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вставкС, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ записи Π‘Π£Π‘Π” Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ всС связанныС индСксы, Ρ‡Ρ‚ΠΎ замСдляСт запись Π΄Π°Π½Π½Ρ‹Ρ….

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ эффСктивности являСтся ΡΠ΅Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ запроса. ИндСкс Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ позволяСт ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ запись ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, индСкс ускорит Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² тысячи Ρ€Π°Π·. Если ΠΆΠ΅ Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ 90% записСй ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ, использованиС индСкса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΅ эффСктивным, Ρ‡Π΅ΠΌ прямой ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€.

πŸ’‘

Для ΠΏΠΎΠ»Π΅ΠΉ с Π½ΠΈΠ·ΠΊΠΎΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Пол" ΠΈΠ»ΠΈ "Бтатус", Π³Π΄Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСго 2-3) созданиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса часто Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π‘Π£Π‘Π” всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Π’ΠΈΠΏΡ‹ индСксов Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘ ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅

Π’ экосистСмС 1Π‘ сущСствуСт нСсколько Π²ΠΈΠ΄ΠΎΠ² индСксов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅ΡˆΠ°Π΅Ρ‚ свои Π·Π°Π΄Π°Ρ‡ΠΈ. ПониманиС Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ³ΠΎ проСктирования структуры ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ дСлятся Π½Π° стандартныС, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ полнотСкстовыС.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ индСксы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ для ускорСния поиска ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ справочников, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ рСгистров. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ эффСктивно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ условиям "Π Π°Π²Π½ΠΎ", "Π‘ΠΎΠ»ΡŒΡˆΠ΅", "МСньшС". Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Ρ‚Π°ΠΊΠΈΠ΅ индСксы Π·Π°Π΄Π°ΡŽΡ‚ΡΡ нСпосрСдствСнно Π² свойствах ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….

Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ индСксы Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² индСксированном ΠΏΠΎΠ»Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт контроля цСлостности Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”. НапримСр, Ссли ΠΊΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ строго ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²ΠΎ всСй Π±Π°Π·Π΅, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ этой ΠΎΠΏΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Ρ‰Π΅ Π½Π° этапС записи.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ кластСрных ΠΈ нСкластСрных индСксов

Π’ SQL Server сущСствуСт понятиС кластСрного индСкса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт физичСский порядок хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° дискС. Π’ 1Π‘ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ сама управляСт кластСризациСй, Π½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ этого различия ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ упоминания заслуТиваСт полнотСкстовая индСксация. Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для быстрого поиска ΠΏΠΎ тСкстовым полям, поддСрТивая ΠΌΠΎΡ€Ρ„ΠΎΠ»ΠΎΠ³ΠΈΡŽ языка (склонСния, спряТСния). Π­Ρ‚ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΉ инструмСнт для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ поиска ΠΏΠΎ коммСнтариям, описаниям Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ содСрТимому Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½Π½Ρ‹Ρ… ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ.

  • πŸ“‚ ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ индСксы: строятся ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ, ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ для Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ поиска ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ ΠΈΠ»ΠΈ Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ»Ρƒ.
  • πŸ”— БоставныС индСксы: Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ нСсколько ΠΏΠΎΠ»Π΅ΠΉ, порядок ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… критичСски Π²Π°ΠΆΠ΅Π½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ запроса.
  • πŸ“ ΠŸΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²Ρ‹Π΅: ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ части слов ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ окончания, трСбуя ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ настройки Π² свойствах Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Настройка индСксов Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅

ΠŸΡ€ΠΎΡ†Π΅ΡΡ управлСния индСксами происходит Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠ΄ ΠΏΡ€Π°Π²Π°ΠΌΠΈ администратора. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ индСкс ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ свойства ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ "Π˜Π½Π΄Π΅ΠΊΡΡ‹". Π—Π΄Π΅ΡΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ запись ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅.

Π’Π°ΠΆΠ½Π΅ΠΉΡˆΠΈΠΌ аспСктом являСтся порядок ΠΏΠΎΠ»Π΅ΠΉ Π² составном индСксС. Π‘Π£Π‘Π” ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ индСкс Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли условия Π² запросС Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ поля ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НапримСр, Ссли индСкс построСн ΠΏΠΎ полям Π”Π°Ρ‚Π°, ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚, Π‘ΡƒΠΌΠΌΠ°, Ρ‚ΠΎ запрос с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρƒ этот индСкс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ смоТСт.

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ порядок для запроса:

ВЫБРАВЬ ... Π“Π”Π• Π”Π°Ρ‚Π° = &Π”Π°Ρ‚Π° И ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ = &ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚

ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ порядок (индСкс Π½Π΅ сработаСт ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ):

ВЫБРАВЬ ... Π“Π”Π• ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ = &ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚

ΠŸΡ€ΠΈ настройкС Ρ‚Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΡ†ΠΈΡŽ "Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ". Π•Π΅ слСдуСт Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° строго Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚Ρƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° настроСк индСкса

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

ПослС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ИмСнно Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π‘Π£Π‘Π” физичСски пСрСстраиваСт слуТСбныС структуры. На Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π·Π°Ρ… этот процСсс ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя, поэтому Π΅Π³ΠΎ рСкомСндуСтся ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π½Π΅Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя.

ВлияниС индСксации Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ индСксация β€” это баланс ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ чтСния ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ записи. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ лишний индСкс замСдляСт ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ систСмС приходится ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… структур. Однако отсутствиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… индСксов ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ запросов Ρ‡Π΅Ρ€Π΅Π· Π°Π½Π°Π»ΠΈΠ· ΠΏΠ»Π°Π½ΠΎΠ² выполнСния позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ситуации, ΠΊΠΎΠ³Π΄Π° Π‘Π£Π‘Π” ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ индСксы. Часто это происходит ΠΈΠ·-Π·Π° Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ написания запроса ΠΈΠ»ΠΈ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ использованиС структуры индСкса.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ использования Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ дСйствиС ΠžΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ эффСкт
Частый поиск ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ индСкс ΠΏΠΎ полю "НомСр" ΠœΠ³Π½ΠΎΠ²Π΅Π½Π½Ρ‹ΠΉ поиск срСди ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй
ΠžΡ‚Π±ΠΎΡ€ ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Боставной индСкс (ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ, Π”Π°Ρ‚Π°) БыстроС Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π½ΠΎ-ΡΠ°Π»ΡŒΠ΄ΠΎΠ²Ρ‹Ρ… вСдомостСй
Поиск ΠΏΠΎ части названия Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ полнотСкстовый поиск Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ слову "Π±ΠΎΠ»Ρ‚" Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ "Π‘ΠΎΠ»Ρ‚ М6"
Π Π΅Π΄ΠΊΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ Ρ€Π°Π· Π² Π³ΠΎΠ΄ НС ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ спСц. индСксы Экономия мСста Π½Π° дискС ΠΈ ускорСниС записи

БущСствуСт понятиС "Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ индСксов". Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΈ вставкС Π΄Π°Π½Π½Ρ‹Ρ…, индСкс становится ΠΌΠ΅Π½Π΅Π΅ эффСктивным, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° дискС Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях трСбуСтся опСрация Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ пСрСстроСния индСксов.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ пСрСстроСния индСксов (Rebuild) Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов сСрвСра. Никогда Π½Π΅ запускайтС Π΅Ρ‘ Π² часы ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° эффСктивности ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС срСдства 1Π‘, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ тСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–), ΠΈΠ»ΠΈ инструмСнты самой Π‘Π£Π‘Π”, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SQL Server Profiler ΠΈΠ»ΠΈ pg_stat_statements для PostgreSQL. Они ΠΏΠΎΠΊΠ°ΠΆΡƒΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ запросы ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ большС всСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ рСсурсов.

πŸ“Š Какая Π‘Π£Π‘Π” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² вашСй основной Π±Π°Π·Π΅ 1Π‘?
MS SQL Server
PostgreSQL
Oracle
Ѐайловая вСрсия (Π±Π΅Π· Π‘Π£Π‘Π”)
НС знаю

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с индСксами

Одной ΠΈΠ· самых распространСнных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ являСтся ситуация, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ создал индСкс, Π½ΠΎ запрос всС Ρ€Π°Π²Π½ΠΎ выполняСтся ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Часто ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° кроСтся Π² статистикС распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π£Π‘Π” ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ± использовании индСкса Π½Π° основС статистики, ΠΈ Ссли ΠΎΠ½Π° устарСла, ΠΏΠ»Π°Π½ выполнСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½ Π½Π΅Π²Π΅Ρ€Π½ΠΎ.

Π”Ρ€ΡƒΠ³ΠΎΠΉ частой ошибкой являСтся использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π°Π΄ индСксированными полями Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°. НапримСр, запись Π“Π΄Π΅ Π“ΠΎΠ΄(Π”Π°Ρ‚Π°) = 2026 Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСкс ΠΏΠΎ полю Π”Π°Ρ‚Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ функция примСняСтся ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠ΅Ρ€Π΅Π΄ сравнСниСм.

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ запись для использования индСкса Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½:

Π“Π΄Π΅ Π”Π°Ρ‚Π° >= '2026-01-01' И Π”Π°Ρ‚Π° < '2026-01-01'

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ "парамСтричСского sniffing" Π² MS SQL Server, ΠΊΠΎΠ³Π΄Π° ΠΏΠ»Π°Π½ выполнСния ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ оказываСтся Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ.

πŸ’‘

Если запрос с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстро ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° скорСС всСго Π² ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ»Π°Π½Π° выполнСния ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ статистикС распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ вСрсии 1Π‘ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ индСксации Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈΠ½Π°Ρ‡Π΅ ΠΈ ΠΌΠ΅Π½Π΅Π΅ эффСктивны ΠΏΡ€ΠΈ высоких Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ…. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Π‘Π£Π‘Π” часто являСтся СдинствСнным способом Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΡŽ ΠΈ обновлСнию

Π˜Π½Π΄Π΅ΠΊΡΡ‹ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ рСгулярного ΡƒΡ…ΠΎΠ΄Π°. НакоплСниС статистичСских ошибок ΠΈ фрагмСнтация ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы дСнь Π·Π° Π΄Π½Π΅ΠΌ. Администратор Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² свой Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ обновлСнию статистики ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ цСлостности структур.

ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΎΡ‚ Ρ„ΠΈΡ€ΠΌΡ‹ 1Π‘ часто ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ структуры ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой пСрСсозданиС индСксов. ПослС Ρ‚Π°ΠΊΠΎΠ³ΠΎ обновлСния Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ индСксов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ старый ΠΏΠ»Π°Π½ распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ "Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ" ΠΈΠ»ΠΈ внСшниС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ для выявлСния ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… индСксов. Π­Ρ‚ΠΈ инструмСнты Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Π»ΠΎΠ³ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ поля стоит Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² индСксныС структуры для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ названия ΠΊΠΎΠΌΠ°Π½Π΄ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях Π‘Π£Π‘Π” (SQL Server 2016, 2019, PostgreSQL 12, 14) ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ вашСй вСрсии сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ скриптов обслуТивания.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ идСальной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ индСксов Π½Π΅ сущСствуСт. Она Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вмСстС с ростом вашСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ бизнСс-процСссов. Π’ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ быстро ΠΏΡ€ΠΈ 10 тысячах Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ‚ "Π»Π΅Ρ‡ΡŒ" ΠΏΡ€ΠΈ 10 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ… Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

Как часто ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ статистику?

Для высоконагруТСнных систСм рСкомСндуСтся ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ статистику распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ Ρ€Π΅ΠΆΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π° Π² нСдСлю, Π° для Ρ‚Π°Π±Π»ΠΈΡ† с ΠΎΡ‡Π΅Π½ΡŒ частыми измСнСниями β€” Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π² Π½ΠΎΡ‡Π½ΠΎΠ΅ врСмя.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

ВлияСт Π»ΠΈ индСксация Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° дискС?

Π”Π°, индСксы Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ мСсто. Π’ срСднСм, Π½Π°Π±ΠΎΡ€ индСксов ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° 20-50% ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° самих Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π² зависимости ΠΎΡ‚ количСства ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ индСксированных ΠΏΠΎΠ»Π΅ΠΉ.

МоТно Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ индСкс ΠΏΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ хранится Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅?

НСт, индСкс ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ физичСским полям, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ поля, вычисляСмыС Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ запроса, ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ нСльзя.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС создания индСкса ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π΅ измСнилась?

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, статистика ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ устарСла, ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ Π½ΠΎΠ²ΠΎΠΌ индСксС. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ статистику. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, соотвСтствуСт Π»ΠΈ порядок ΠΏΠΎΠ»Π΅ΠΉ Π² индСксС условиям вашСго запроса.

НуТно Π»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ поля Ρ‚ΠΈΠΏΠ° "Π‘ΡƒΠ»Π΅Π²ΠΎ" (ЛогичСскоС)?

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅Ρ‚. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСго Π΄Π²Π° (Π˜ΡΡ‚ΠΈΠ½Π°/Π›ΠΎΠΆΡŒ), ΡΠ΅Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ индСкса ΠΊΡ€Π°ΠΉΠ½Π΅ Π½ΠΈΠ·ΠΊΠ°. Π‘Π£Π‘Π” Ρ‡Π°Ρ‰Π΅ всСго ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ индСксы, выбирая ΠΏΠΎΠ»Π½ΠΎΠ΅ сканированиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‡Ρ‚ΠΎ оказываСтся быстрСС.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹ΠΉ индСкс?

Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ 1Π‘ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ "Π˜Π½Π΄Π΅ΠΊΡΡ‹", ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лишнюю строку ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ЀизичСскоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ обновлСния структуры Π‘Π”.