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

Π’ основС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π»Π΅ΠΆΠΈΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ логичСских условий, Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ интСрфСйсС, Π² язык запросов Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, T-SQL для Microsoft SQL Server). 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ выступаСт Π² Ρ€ΠΎΠ»ΠΈ прослойки, которая Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ структуру ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Π½ выполнСния. Ошибки Π½Π° этапС проСктирования Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ† (table scan), Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ… записСй ΠΏΠ°Ρ€Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСго прСдприятия. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ условия Β«Π΄Ρ€ΡƒΠΆΠ°Ρ‚Β» с индСксами, Π° ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ»ΠΎΡΡ‚ΡƒΡŽ.

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

АрхитСктура ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ условий ΠΎΡ‚Π±ΠΎΡ€Π°

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

Однако Π½Π΅ всС условия ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π² Π‘Π£Π‘Π” Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. БущСствуСт понятиС Β«Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌΡ‹Ρ…Β» ΠΈ Β«Π½Π΅Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌΡ‹Ρ…Β» Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Если Π² условии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция, которая Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ прямого Π°Π½Π°Π»ΠΎΠ³Π° Π² Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π΅ SQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π‘Π£Π‘Π”, ΠΈΠ»ΠΈ Ссли ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ‚ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ слоТной структуры, Ρ‡Π°ΡΡ‚ΡŒ вычислСний ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒΡΡ Π½Π° сторону сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ 1Π‘. Π­Ρ‚ΠΎ явлСниС часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Β«Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅Β» ΠΈΠ»ΠΈ «пост-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉΒ», ΠΈ это Π³Π»Π°Π²Π½Ρ‹ΠΉ Π²Ρ€Π°Π³ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ рСгистрации сообщСния ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ запрос выполняСтся Π΄ΠΎΠ»Π³ΠΎ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π»ΠΈ Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ». Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ использованиС индСксов.

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

ВлияниС индСксов Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° являСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ подходящих индСксов Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ИндСкс Π² 1Π‘ создаСтся автоматичСски для основных Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² справочников ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ для ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ рСгистров. Однако составныС индСксы (covering indexes) Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ особого внимания Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ Π² индСксС ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ справочник отсортирован сначала ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. Если Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΏΠΎ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ «Иванов», систСма быстро Π½Π°ΠΉΠ΄Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π». Но Ссли Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ всСх людСй с ΠΈΠΌΠ΅Π½Π΅ΠΌ «АлСксСй», систСмС придСтся ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ страницу справочника, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° разбросаны ΠΏΠΎ всСму массиву Π΄Π°Π½Π½Ρ‹Ρ…. Аналогично Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅.

  • πŸ” ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ индСкса: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² условии «И» (AND) совпадаСт с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠΎΠ»Π΅ΠΌ Π² индСксС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
  • πŸš€ Π‘Π΅Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ: Π€ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ полю с высокой ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΠΌΠ΅Ρ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ ΠΏΠΎ полю с Π½ΠΈΠ·ΠΊΠΎΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ провСдСния).
  • πŸ›‘ Π’ΠΈΠΏΡ‹ сравнСния: ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Β«Π Π°Π²Π½ΠΎΒ» (=) ΠΈ Β«Π‘ΠΎΠ»ΡŒΡˆΠ΅Β» (>), «МСньшС» (<) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ индСксы эффСктивно, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ «НС Ρ€Π°Π²Π½ΠΎΒ» (<>) ΠΈΠ»ΠΈ «Подобно» (LIKE '%...%').

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

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ инструмСнт «Консоль запросов» ΠΈΠ»ΠΈ встроСнный Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ индСкс Π±Ρ‹Π» использован ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ вашСго запроса. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†

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

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ РСгистрНакоплСния.ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ.ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ, Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ срСза. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ запрос ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π² ΡΠ΅Ρ€ΠΈΡŽ запросов ΠΊ физичСским Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΈ остатков. Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΡ‚ΠΎΠ³ΠΎΠ² ΠΈ ΠΏΠΎΠΉΡ‚ΠΈ ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ пСрСсчСта Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π·Π° вСсь ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.

Π’ΠΈΠΏ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Риск ΠΏΡ€ΠΈ ошибкС
ΠžΡΡ‚Π°Ρ‚ΠΊΠΈ ΠœΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π”ΠΎΠ»Π³ΠΈΠΉ расчСт Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ с Π½Π°Ρ‡Π°Π»Π° истории
ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ Начало ΠΈ ΠšΠΎΠ½Π΅Ρ† ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ
Π‘Ρ€Π΅Π·ΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΡ… ΠŸΠ΅Ρ€ΠΈΠΎΠ΄, Π˜Π·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ использования индСкса ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
Π‘Ρ€Π΅Π·ΠŸΠ΅Ρ€Π²Ρ‹Ρ… ΠŸΠ΅Ρ€ΠΈΠΎΠ΄, Условия ΠΎΡ‚Π±ΠΎΡ€Π° НСкоррСктный Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ Β«ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Β» ΠΈΠ»ΠΈ Β«ΠœΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈΒ». Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² запрос явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ИспользованиС конструкций Π²ΠΈΠ΄Π° Π“Π”Π• ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ >= ΠΠ°Ρ‡Π°Π»ΠΎΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ запроса ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ часто ΠΌΠ΅Π½Π΅Π΅ эффСктивно, Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° самой Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² сСкции Π˜Π—. Π­Ρ‚ΠΎ позволяСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡƒ 1Π‘ сразу ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅?

Π§Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ Π² самой Ρ‚Π°Π±Π»ΠΈΡ†Π΅, Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ запрос сформулирован Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΡ‚ΠΎΠ³ΠΎΠ² (RALT). ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ Β«Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚Π΅Β» Π»ΠΈ Π²Ρ‹ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π½Π° части Π² условиях WHERE, вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ срСза.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ строковым полям ΠΈcollation

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

Если Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… установлСн рСгистрозависимый Ρ€Π΅ΠΆΠΈΠΌ сортировки, Π° Π² запросС 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сравнСниС Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра (Ρ‡Ρ‚ΠΎ являСтся стандартом для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹), Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ использования индСкса. ВмСсто быстрого поиска ΠΏΠΎ B-Π΄Π΅Ρ€Π΅Π²Ρƒ индСкса, систСма Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π΅Ρ‘, Ρ‡Ρ‚ΠΎ эквивалСнтно ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Ρƒ. Π­Ρ‚ΠΎ классичСская ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π½Π° MS SQL Server с настройками ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ рСкомСндуСтся:

  • πŸ”€ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ сравнСниС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.
  • βš™οΈ ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ collation Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° рСгистронСзависимый (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SQL_Latin1_General_CP1_CI_AS), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ соотвСтствовал Π»ΠΎΠ³ΠΈΠΊΠ΅ 1Π‘.
  • πŸ“ Π˜Π·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ прСобразования рСгистра (Π‘Π’Π ΠžΠ§ΠΠ«Π™, ЗАГЛАВНЫЙ) Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π° WHERE.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ Β«leading wildcardΒ» Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… подобия. Запрос Π²ΠΈΠ΄Π° Π“Π”Π• НаимСнованиС ΠŸΠžΠ”ΠžΠ‘ΠΠž "%Π’ΠΎΠ²Π°Ρ€%" Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ индСкс, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ запись. Запрос Π“Π”Π• НаимСнованиС ΠŸΠžΠ”ΠžΠ‘ΠΠž "Π’ΠΎΠ²Π°Ρ€%" (поиск ΠΏΠΎ Π½Π°Ρ‡Π°Π»Ρƒ строки) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ индСкс эффСктивно. ВсСгда ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия поиска Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ пСрСмСнная Ρ‡Π°ΡΡ‚ΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ строки.

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

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‡Π°Ρ‰Π΅ всСго?
МСдлСнная Ρ€Π°Π±ΠΎΡ‚Π° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²
Ошибки Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ
НСвСрныС Π΄Π°Π½Π½Ρ‹Π΅ Π² срСзах
БлоТности с настройкой индСксов

Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½Ρ‹ΠΉ доступ ΠΏΡ€ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ тСсно пСрСплСтаСтся с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Когда ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ тяТСлый ΠΎΡ‚Ρ‡Π΅Ρ‚ с Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠΈ (shared locks) Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ с опСрациями записи, Ссли ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ изоляции Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ настроСн агрСссивно.

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ влияниС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Π½Π° ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ:

  1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ снимков Π΄Π°Π½Π½Ρ‹Ρ… (snapshot isolation), Ссли ваша Π‘Π£Π‘Π” это ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚.
  2. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ часто измСняСмым полям Π² «горячих» Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.
  3. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ запросы Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π»ΠΈΡΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС, освобоТдая рСсурсы Π‘Π£Π‘Π”.
πŸ’‘

Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° врСмя удСрТания Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ запроса β€” это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ускорСниС ΠΎΡ‚Ρ‡Π΅Ρ‚Π° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½ΠΎ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ доступности систСмы для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….

Диагностика ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²

Как ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠ»ΠΎΡ…ΠΎ? ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠΌ являСтся Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя оТидания Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Но для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½ΡƒΠΆΠ½Ρ‹ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ инструмСнты. Π’ 1Π‘ сущСствуСт Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ запросов ΠΈ тСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ тСкст SQL-запроса, уходящСго Π² Π‘Π£Π‘Π”, ΠΈ ΠΏΠ»Π°Π½ Π΅Π³ΠΎ выполнСния.

Анализируя ΠΏΠ»Π°Π½ выполнСния (Execution Plan) Π² SQL Server Management Studio ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ инструмСнтС для PostgreSQL/Oracle, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Β«ΡƒΠ·ΠΊΠΈΠ΅ мСста». Π˜Ρ‰ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Table Scan ΠΈΠ»ΠΈ Clustered Index Scan Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… β€” это ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ индСкс Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Sort ΠΈΠ»ΠΈ Hash Match ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΡƒ памяти ΠΈΠ»ΠΈ отсутствиС индСкса для сортировки.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ диагностики выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • πŸ“Š Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ SQL-запросов Π² настройках сСрвСра 1Π‘.
  • πŸ” Π‘ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ тСкст запроса ΠΈΠ· Π»ΠΎΠ³Π° ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² консоли Π‘Π£Π‘Π”.
  • πŸ“ˆ ΠŸΠΎΡΡ‚Ρ€ΠΎΠΉΡ‚Π΅ ΠΏΠ»Π°Π½ выполнСния ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с высокой ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ (Cost).
  • πŸ›  ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ статистику ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ β€” ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ статистика ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ±ΠΈΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ с Ρ‚ΠΎΠ»ΠΊΡƒ.

Часто Π±Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π½Π΅ Π² самом запросС, Π° Π² ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ статистикС распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘Π£Π‘Π”. ПослС массовой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ провСдСния ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² статистика ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ, ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½. РСгулярноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики (UPDATE STATISTICS) являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ сопровоТдСния Π±Π°Π·Ρ‹ 1Π‘.

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°

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

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ запрос с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ ΠΏΠΎ Π΄Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, хотя индСкс Π΅ΡΡ‚ΡŒ?

Π§Π°Ρ‰Π΅ всСго ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‚Π° Π² условии ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π“ΠžΠ”(ДатаРСгистрации) = 2023). Π­Ρ‚ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ использованиС индСкса ΠΏΠΎ Π΄Π°Ρ‚Π΅. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈΡ‚Π΅ условиС Π½Π° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½: Π“Π”Π• ДатаРСгистрации >= '01.01.2023' И ДатаРСгистрации < '01.01.2026'.

ВлияСт Π»ΠΈ количСство ΠΏΠΎΠ»Π΅ΠΉ Π² условии «И» Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ?

Π”Π°, Π½ΠΎ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ условий суТаСт Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Однако, Ссли Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля Π½Π΅ входят Π² состав индСкса, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒΡΡ послС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ полю. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ условиС Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ «И» Π±Ρ‹Π»ΠΎ максимально сСлСктивным ΠΈ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π»ΠΎΡΡŒ индСксом.

МоТно Π»ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ тСксту наимСнования?

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΠžΠ”ΠžΠ‘ΠΠž с маской Π² Π½Π°Ρ‡Π°Π»Π΅ строки Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ индСксы. Для быстрого полнотСкстового поиска Π² 1Π‘ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ полнотСкстового поиска (ПВП), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ свои ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ индСксы, Π»ΠΈΠ±ΠΎ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ поиск Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ подсистСмный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ.

Как Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ влияСт Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Π±Π°Π·Ρ‹?

Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ (.1CD) всС вычислСния происходят Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠœΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Β«Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΈΡ‚ΡŒΒ» интСрфСйс Π½Π° врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° лоТится Π½Π° сСрвСр, Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ сСти, поэтому объСм Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ для скорости ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°.

Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ индСкс для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ΄Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ?

НСт, ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ количСство индСксов замСдляСт запись Π΄Π°Π½Π½Ρ‹Ρ… (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ всС индСксы. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ составныС индСксы, ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частыС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ условий ΠΎΡ‚Π±ΠΎΡ€Π° Π² Π²Π°ΡˆΠΈΡ… ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ….