Π Π°Π±ΠΎΡ‚Π° с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… Π² конфигурациях Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто сталкиваСтся с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ падСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ слоТных Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°Ρ…. Администраторы ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ Π·Π°ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ Π² Π»ΠΎΠ³Π°Ρ… сСрвСра ΠΈΠ»ΠΈ Π² сообщСниях ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… Ρ„Ρ€Π°Π·Ρƒ "ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π΄ΠΎΠΏ упорядочиваниСм". Π­Ρ‚ΠΎ Π½Π΅ просто тСхничСскоС ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π° сигнал ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСэффСктивно.

ПониманиС сути этого процСсса критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ высоконагруТСнных систСм. Если Π½Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ внимания Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ сообщСния, врСмя выполнСния запросов ΠΌΠΎΠΆΠ΅Ρ‚ расти ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ заполнСния Ρ‚Π°Π±Π»ΠΈΡ† рСгистрами свСдСний ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… этой ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Ρ‡Ρ‚ΠΎ скрываСтся Π·Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ упорядочиваниС, ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ 8.3 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ индСксы ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ дСйствия Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ для стабилизации Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π·Ρ‹.

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

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ индСксов Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘

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

Если запрос содСрТит условиС ΠΎΡ‚Π±ΠΎΡ€Π° ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ полю индСкса, систСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ максимально эффСктивно. Но Ρ‡Ρ‚ΠΎ происходит, Ссли Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ΄Π΅Ρ‚ ΠΏΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΌΡƒ полю, Π»ΠΈΠ±ΠΎ Ссли трСбуСтся сортировка ΠΏΠΎ полю, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² структурС индСкса? Π’ этом случаС срабатываСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ упорядочивания. Π‘Π΅Ρ€Π²Π΅Ρ€ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ сначала Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹Π΅ записи, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² памяти ΠΈΠ»ΠΈ с использованиСм Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†, Ρ‡Ρ‚ΠΎ являСтся рСсурсоСмкой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ индСкс ΠΏΠΎ полям (ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚, Π”Π°Ρ‚Π°). Если ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ всС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°, индСкс сработаСт идСально. Но Ссли Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΏΠΎ всСм ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°ΠΌ, Π΄Π°Π½Π½Ρ‹ΠΉ индСкс Π±ΡƒΠ΄Π΅Ρ‚ бСсполСзСн для быстрого поиска, ΠΈ систСмС придСтся ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ индСкс, Ссли ΠΎΠ½ сущСствуСт.

πŸ’‘

ВсСгда ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ структуру индСксов, исходя ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частых сцСнариСв Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

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

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ„Ρ€Π°Π·Π° "ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π΄ΠΎΠΏ упорядочиваниСм"

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π² высоконагруТСнных систСмах ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ остановкС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² часы ΠΏΠΈΠΊ.

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

πŸ“Š Π‘Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ Π»ΠΈ Π²Ρ‹ с Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²?
Π”Π°, постоянно
Иногда Π±Ρ‹Π²Π°Π΅Ρ‚
Никогда Π½Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π»
Π Π°Π±ΠΎΡ‚Π°ΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с малСнькими Π±Π°Π·Π°ΠΌΠΈ

Диагностика ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запросов

Для выявлСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… запросов, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ упорядочивании, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнныС срСдства ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°. ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–) сСрвСра 1Π‘ являСтся основным инструмСнтом для Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°. Π’ Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ события ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ DBMSSQL ΠΈΠ»ΠΈ PostgreSQL ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ SQL-запроса.

Анализ ΠΏΠ»Π°Π½ΠΎΠ² выполнСния запросов позволяСт ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ индСксы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Sort ΠΈΠ»ΠΈ Index Scan вмСсто Index Seek Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°Ρ…, это Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ "Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ", которая Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² состав Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ доступна ΠΊΠ°ΠΊ внСшняя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ основныС ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ нСэффСктивного использования индСксов ΠΈ ΠΈΡ… влияниС Π½Π° систСму:

ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π² Π’Π– ВСроятная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ВлияниС Π½Π° систСму
Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Sort ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ индСкса ΠΏΠΎ полям сортировки Высокая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° CPU ΠΈ диск
Table Scan ПолноС сканированиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ»ΠΈΠΊ
Key Lookup ΠΠ΅ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ индСкс Π›ΠΈΡˆΠ½ΠΈΠ΅ обращСния ΠΊ диску
Implicit Conversion НСсоотвСтствиС Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ индСкса

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

β˜‘οΈ Диагностика ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов

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

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ созданиС индСксов

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

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

Если запрос Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сортировки ΠΏΠΎ нСскольким полям, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² Π±Π°Π·Π΅ сущСствуСт индСкс, Π³Π΄Π΅ эти поля ΠΈΠ΄ΡƒΡ‚ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС, Ρ‡Ρ‚ΠΎ ΠΈ Π² clΓ‘usΡƒΠ»Π΅ ORDER BY. НапримСр, Ссли запрос сортируСт ΠΏΠΎ ΠŸΠ΅Ρ€ΠΈΠΎΠ΄, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎ НомСнклатура, Ρ‚ΠΎ индСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ создан ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: (ΠŸΠ΅Ρ€ΠΈΠΎΠ΄, НомСнклатура). ИндСкс (НомСнклатура, ΠŸΠ΅Ρ€ΠΈΠΎΠ΄) Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ упорядочивания.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ индСксации Π² PostgreSQL

Π’ PostgreSQL ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ индСксов сильно зависит ΠΎΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ статистики. РСгулярно выполняйтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ANALYZE для ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ распрСдСлСнии Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ….

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

Настройка Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² запроса

Π’ 1Π‘ 8.3 ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ рСгистров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ срСзы Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² запросС. НСвСрноС ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ систСма Π½Π΅ смоТСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π½ доступа.

НапримСр, ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ РСгистрБвСдСний.ЦСныНомСнклатуры.Π‘Ρ€Π΅Π·ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, запрос ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΠ΅ сканированиС физичСской Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ рСгистра, Ρ‡Ρ‚ΠΎ ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠΌ упорядочивании Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС соСдинСний (JOIN). Π›Π΅Π²ΠΎΠ΅ соСдинСниС (LEFT JOIN) часто Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ (INNER JOIN), Ссли ΠΎΠ½ΠΎ Π½Π΅ ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ индСксами Π½Π° полях соСдинСния. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ поля, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ происходит связываниС Ρ‚Π°Π±Π»ΠΈΡ†, проиндСксированы.

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

Для слоТных аналитичСских Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΠ»ΠΈ рСгистров накоплСния с подходящими измСрСниями. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ сортировки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… записСй Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ формирования ΠΎΡ‚Ρ‡Π΅Ρ‚Π°.

πŸ’‘

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроСнныС индСксы ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ запросы ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π² дСсятки Ρ€Π°Π·, сниТая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΡΡ‚Ρ€Π°Π½Π΅Π½ΠΈΡŽ ошибок

Если Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ошибкой ΠΈΠ»ΠΈ критичСским Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ΠΌ, дСйствуйтС ΠΏΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ. Π‘Π½Π°Ρ‡Π°Π»Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ запрос с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π’Π–. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ тСкст ΠΈ ΠΏΠ»Π°Π½ выполнСния. ПослС этого ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ индСксов Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… полям ΠΎΡ‚Π±ΠΎΡ€Π° ΠΈ сортировки.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ пСрСстроСниС индСксов Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”. ЀрагмСнтация индСксов со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ растСт, Ρ‡Ρ‚ΠΎ сниТаСт ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ поиска. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ REINDEX ΠΈΠ»ΠΈ ALTER INDEX REBUILD ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ систСмС Π±Ρ‹Π»ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π±Π΅Π· измСнСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ 1Π‘.

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

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

Автоматизация обслуТивания

НастройтС Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ задания Π² 1Π‘ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅ ОБ для рСгулярного обновлСния статистики ΠΈ обслуТивания индСксов Π² Π½Π΅Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя.

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

МоТно Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ индСкс прямо Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, минуя ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€?

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ индСкса ΠΈΠ½ΠΎΠ³Π΄Π° замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±Π°Π·Ρ‹?

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ индСкс Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ мСста Π½Π° дискС ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° обслуТиваниС. ΠŸΡ€ΠΈ записи, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ записи систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ всС индСксы, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ эту Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Если индСксов слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΠ½ΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно ΡƒΠΏΠ°ΡΡ‚ΡŒ.

Как ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ индСкс Π½ΡƒΠΆΠ΅Π½ для ΠΌΠΎΠ΅Π³ΠΎ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°?

ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ условия ΠΎΡ‚Π±ΠΎΡ€Π° (Π“Π”Π•) ΠΈ сортировки (Π£ΠŸΠžΠ Π―Π”ΠžΠ§Π˜Π’Π¬ ПО) Π² запросС ΠΎΡ‚Ρ‡Π΅Ρ‚Π°. Поля, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² этих условиях, особСнно Ρ‚Π΅, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ самых Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов Π΄Π°Π½Π½Ρ‹Ρ…, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ полями Π² составС индСкса.

ВлияСт Π»ΠΈ Ρ‚ΠΈΠΏ Π‘Π£Π‘Π” (SQL Server vs PostgreSQL) Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΄ΠΎΠΏ. упорядочивания?

Π”Π°, влияСт. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ запросов Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π‘Π£Π‘Π” Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π’ΠΎ, Ρ‡Ρ‚ΠΎ эффСктивно Π² MS SQL, ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½ΠΎΠΉ настройки индСксов Π² PostgreSQL. Однако Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ построСния B-Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² ΠΈ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ порядка ΠΏΠΎΠ»Π΅ΠΉ Π² индСксС Π΅Π΄ΠΈΠ½Ρ‹ для всСх рСляционных Π±Π°Π·.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ошибка появляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ?

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ сцСнарии Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ»ΠΈ настройках ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° этого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, спСцифичСскиС ΠΎΡ‚Π±ΠΎΡ€Ρ‹ Π² спискС). ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ настройки ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ списков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ запросы, Π½Π΅ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ индСксами.