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

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

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

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° возникновСния индСкса ΠŸΠŸΠ” Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ 1Π‘

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

Π­Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° статистика распрСдСлСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ устарСла. SQL Server ΠΈΠ»ΠΈ PostgreSQL ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° статистику для принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡƒΡ‚ΡŒ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ. Если Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ измСнились ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, массовоС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π·Π° Π½ΠΎΠ²Ρ‹ΠΉ мСсяц), Π° статистика Π½Π΅ обновилась, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ использованиС индСкса Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΡ€ΠΎΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ формируСтся ΠΏΠ»Π°Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму ΠΈ процСссор. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒΡΡ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ рСсурсы дольшС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Β«Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚Β», хотя сСрвСрныС рСсурсы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π² нСэффСктивном доступС ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ рСгистра накоплСния ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Ошибка, связанная с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΏΠ»Π°Π½Π° выполнСния, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ситуативной. НС ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ всС индСксы подряд, сначала ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ запрос.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ сама ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π½Π΅ создаСт индСкс с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«ΠŸΠŸΠ”Β». Π­Ρ‚ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… сторонних систСм ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈΠ»ΠΈ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Π»ΠΎΠ³Π°Ρ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Π§Π°Ρ‰Π΅ всСго Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ запрос выполняСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ просмотр Π΄Π°Π½Π½Ρ‹Ρ… (Sequential Scan) вмСсто Index Seek.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ Β«ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊΒ» ΠΈΠ· состава ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ для выявлСния Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ запрос Π΄Π΅Ρ€ΠΆΠΈΡ‚ рСсурс.

Диагностика ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ индСксами

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ являСтся точная идСнтификация запроса, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ трудности. ВстроСнныС срСдства администрирования 1Π‘ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнтарий для этого. НСобходимо Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ тСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–) ΠΈΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ консолью администрирования кластСра сСрвСров для сбора статистики ΠΏΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ опСрациям.

Анализ Π»ΠΎΠ³ΠΎΠ² Π‘Π£Π‘Π” Π΄Π°Π΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ. Для MS SQL Server ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ динамичСскиС прСдставлСния (DMV), Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ sys.dm_exec_query_stats ΠΈ sys.dm_exec_sql_text. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΉΡ‚ΠΈ запросы с наибольшим Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния ΠΈΠ»ΠΈ наибольшим количСством логичСских Ρ‡Ρ‚Π΅Π½ΠΈΠΉ. ИмСнно эти запросы Ρ‡Π°Ρ‰Π΅ всСго становятся ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ.

ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΏΠ»Π°Π½Π° выполнСния ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ с высокой ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ (Cost). Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Clustered Index Scan ΠΈΠ»ΠΈ Table Scan Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π΅ с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ записСй, Π³Π΄Π΅ оТидался Index Seek, это прямой ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Часто ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ являСтся отсутствиС ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ индСкса ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ порядок ΠΏΠΎΠ»Π΅ΠΉ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ индСксС.

πŸ“Š Какая Π‘Π£Π‘Π” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² вашСй Π±Π°Π·Π΅ 1Π‘?
MS SQL Server
PostgreSQL
Oracle
IBM DB2

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сСрвСра 1Π‘. Иногда ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π½Π΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π² настройках ΠΏΡƒΠ»Π° соСдинСний ΠΈΠ»ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°Ρ…. Однако, Ссли ошибка явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° индСкс ΠΈΠ»ΠΈ ΠΏΠ»Π°Π½ выполнСния, фокус Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ смСщСн Π½Π° структуру Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ статистику.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ устранСния ошибок индСксации

БущСствуСт нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ситуации, ΠΊΠΎΠ³Π΄Π° систСмаСт Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π½ доступа. Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈ часто эффСктивный ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики. Π’ MS SQL Server это дСлаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ UPDATE STATISTICS. Π­Ρ‚ΠΎ заставляСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ распрСдСлСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ, с высокой Π΄ΠΎΠ»Π΅ΠΉ вСроятности, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ индСкс.

Если ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ индСкса. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΌ запросС (сСкция WHERE ΠΈ JOIN). ИндСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ поля, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ происходит Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΈ соСдинСниС Ρ‚Π°Π±Π»ΠΈΡ†. Π’Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ порядок ΠΏΠΎΠ»Π΅ΠΉ: Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ сСлСктивныС поля Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠ΄Ρ‚ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ использованиС подсказок (hints) Π² ΠΊΠΎΠ΄Π΅ запроса, хотя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π½Π΅ всСгда позволяСт ΠΈΡ… явно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ. Π‘ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ β€” Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ запроса Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅. ИзмСнСниС порядка соСдинСний Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΠ»ΠΈ использованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ выполнСния Π² Π»ΡƒΡ‡ΡˆΡƒΡŽ сторону.

β˜‘οΈ Алгоритм ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запроса

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ индСксов Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ остановку Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° тСхнологичСскоС ΠΎΠΊΠ½ΠΎ.

ИспользованиС тСхнологичСского ΠΆΡƒΡ€Π½Π°Π»Π° для Π°Π½Π°Π»ΠΈΠ·Π°

ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–) β€” это основной инструмСнт Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΉ диагностики Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3. Он позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ события Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ сСрвСра, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов ΠΊ Π‘Π£Π‘Π”, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Π’Π– критичСски Π²Π°ΠΆΠ½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ диск Π»ΠΎΠ³Π°ΠΌΠΈ.

Для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с индСксами Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ событиС DBMSSQL (для SQL Server) ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ для вашСй Π‘Π£Π‘Π”. Π’ настройках шаблона рСгистрации ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ тСкст запроса ΠΈ врСмя Π΅Π³ΠΎ выполнСния. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ настройки ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΆΡƒΡ€Π½Π°Π»Π°: C:\1CLogs\TechLog\*.log.

ПослС воспроизвСдСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π»ΠΎΠ³. НайдитС записи с большим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (duration). ВСкст запроса Π² Π»ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π² срСдС управлСния Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SSMS) с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ»Π°Π½Π° выполнСния. Π­Ρ‚ΠΎ даст наглядноС прСдставлСниС ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ индСксы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° для Π’Π–

Для ΠΎΡ‚Π»ΠΎΠ²Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НапримСр, Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ события Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли duration > 1000 мс. Π­Ρ‚ΠΎ снизит объСм Π»ΠΎΠ³ΠΎΠ².

Анализ Π’Π– Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² чтСния XML-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… структур Π»ΠΎΠ³ΠΎΠ². Однако ΠΈΠΌΠ΅Π½Π½ΠΎ здСсь часто скрываСтся ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎΡ‡Π΅ΠΌΡƒ индСкс ΠŸΠŸΠ” ΠΈΠ»ΠΈ Π΅Π³ΠΎ отсутствиС ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠΈ систСмы. Иногда ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ запрос выполняСтся тысячи Ρ€Π°Π· Π² сСкунду, ΠΈ Π΄Π°ΠΆΠ΅ малая Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ исполнСнии суммируСтся Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’Π°Π±Π»ΠΈΡ†Π° Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

Для систСматизации Π·Π½Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ симптомы, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, связанных с нСэффСктивным использованиСм индСксов Π² 1Π‘.

Π‘ΠΈΠΌΠΏΡ‚ΠΎΠΌ ВСроятная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
МСдлСнноС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ индСкса ΠΏΠΎ полям ΠΎΡ‚Π±ΠΎΡ€Π° Π² рСгистрах Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ индСкса Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· SQL
ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅"зависания" Π±Π°Π·Ρ‹ Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ статистика Π² Π‘Π£Π‘Π” ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики (UPDATE STATISTICS)
Высокая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° CPU ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°Ρ… ПолноС сканированиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Table Scan) ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ запроса, созданиС ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ индСкса
Ошибки Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° соСдинСния Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΏΠ»Π°Π½Π° Анализ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ, Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π° запроса

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

πŸ’‘

РСгулярноС обслуТиваниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики, рСорганизация индСксов) Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΎΠΉΡ‚ΠΈ Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΡƒ администратора 1Π‘ для прСдотвращСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠŸΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с индСксами Π² 1Π‘

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ появлСния ошибок, связанных с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΏΠ»Π°Π½ΠΎΠ² выполнСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ рСгулярныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ обслуТивания Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Автоматизация этих процСссов снимаСт чСловСчСский Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ статистика всСгда Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°. Π’ MS SQL Server ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π°Π³Π΅Π½Ρ‚ SQL Server для выполнСния Π·Π°Π΄Π°Ρ‡ обслуТивания.

Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° ростом Ρ‚Π°Π±Π»ΠΈΡ†. Если объСм Π΄Π°Π½Π½Ρ‹Ρ… Π² рСгистрах накоплСния растСт ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ, старыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ эффСктивно. Π‘Π²ΠΎΠ΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† (ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅) ΠΈΠ»ΠΈ архивация старых Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π΅Π· измСнСния ΠΊΠΎΠ΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ названия ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню Π² консоли администрирования ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π‘Π£Π‘Π”. ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΊ вашСй вСрсии.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ «Анализ ΠΈ диагностика ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈΒ» (ADP), Ссли ΠΎΠ½Π° доступна Π² вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎΡ‚ инструмСнт автоматичСски сканируСт Π±Π°Π·Ρƒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… мСст, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ отсутствиС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Ρ… индСксов, ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚ с рСкомСндациями ΠΏΠΎ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ.

РСорганизация ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠŸΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡ

Π’ SQL Server Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ для индСксов. REORGANIZE β€” лСгкая опСрация, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. REBUILD β€” полная пСрСстройка, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ большС рСсурсов, Π½ΠΎ Π΄Π°ΡŽΡ‰Π°Ρ Π»ΡƒΡ‡ΡˆΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈ сильной Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

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

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли послС создания индСкса ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ»Π°ΡΡŒ?

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ индСкс ΠΈΠ·-Π·Π° ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ статистики. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ обновлСния статистики. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, соотвСтствуСт Π»ΠΈ порядок ΠΏΠΎΠ»Π΅ΠΉ Π² индСксС условиям Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π² запросС. Иногда Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π² индСксС ΠΈ Π² условии запроса Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ использованию.

МоТно Π»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ стандартныС индСксы ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ 1Π‘?

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

Как часто Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ статистику Π² Π±Π°Π·Π΅ 1Π‘?

Частота зависит ΠΎΡ‚ интСнсивности Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π·Ρ‹. Для высоконагруТСнных систСм рСкомСндуСтся Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики Π² Π½ΠΎΡ‡Π½ΠΎΠ΅ врСмя. Π’ MS SQL Server ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, Π½ΠΎ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ часто Π±Ρ‹Π²Π°Π΅Ρ‚ эффСктивнСС.

ВлияСт Π»ΠΈ вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ индСксов?

Π”Π°, Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ содСрТат ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ SQL-запросов. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π·Π° счСт Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ формирования запросов ΠΊ Π‘Π£Π‘Π”.