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

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

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

Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° индСксации Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… 1Π‘

ВСхничСски индСкс прСдставляСт собой ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ ссылки Π½Π° физичСскиС строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² отсортированном Π²ΠΈΠ΄Π΅. Когда Π²Ρ‹ запускаСтС ΠΎΡ‚Ρ‡Π΅Ρ‚ Π² 1Π‘:БухгалтСрия ΠΈΠ»ΠΈ 1Π‘:Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»Π΅ΠΉ, запрос обращаСтся ΠΊ этим ссылкам. Если индСкс сущСствуСт для поля, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ΄Π΅Ρ‚ ΠΎΡ‚Π±ΠΎΡ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Β» ΠΈΠ»ΠΈ Β«Π”Π°Ρ‚Π°Β»), систСма ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ записи. Π‘Π΅Π· индСкса Π΅ΠΉ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π² Π±Π°Π·Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ условиС.

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

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

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ индСксы Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ дисковоС пространство. Π§Π΅ΠΌ большС ΠΏΠΎΠ»Π΅ΠΉ Π²Ρ‹ индСксируСтС, Ρ‚Π΅ΠΌ большС «вСсит» ваша Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° дискС сСрвСра. Π­Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Π° Π·Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. Баланс ΠΌΠ΅ΠΆΠ΄Ρƒ быстродСйствиСм ΠΈ объСмом Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° β€” Π·Π°Π΄Π°Ρ‡Π° администратора Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π§Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ ΡƒΠ²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ индСксациСй ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ эффСкту: замСдлСнию записи Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ систСмС приходится ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ саму Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π½ΠΎ ΠΈ всС связанныС с Π½Π΅ΠΉ индСксы.

πŸ’‘

Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… (SELECT), Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΌΠ΅Π΄Π»ΡΡ‚ΡŒ ΠΈΡ… запись (INSERT/UPDATE). НС создавайтС индСксы для ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΡ‚Π±ΠΎΡ€Π°Ρ… ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

Когда систСма Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°

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

БущСствуСт нСсколько сцСнариСв, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ индСксации. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ β€” это ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ послС внСдрСния. Π’Ρ‚ΠΎΡ€ΠΎΠΉ β€” ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ массовой Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π²Π½Π΅ΡˆΠ½ΠΈΡ… источников, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· Excel ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ систСмы. Π’Ρ€Π΅Ρ‚ΠΈΠΉ β€” оптимизация послС удалСния большого объСма Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΠ³Π΄Π° статистика распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… устарСла ΠΈ сСрвСр Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ нСэффСктивный ΠΏΠ»Π°Π½ выполнСния запроса.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° сама опрСдСляСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ пСрСстроСния индСксов. Π­Ρ‚ΠΎ происходит ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° администратор Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…Β». БистСма ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ смогут Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с систСмой, поэтому Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слСдуСт ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½Π΅Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π½ΠΈ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ индСксы Β«Ρ€Π°Π·Π²Π°Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡΒ»?

Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ, ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ записСй, структура индСкса фрагмСнтируСтся. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎ заставляСт сСрвСр Π΄Π΅Π»Π°Ρ‚ΡŒ лишниС обращСния ΠΊ диску. РСгулярная пСрСстройка (рСорганизация) индСксов Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠΌ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ.

Π’Π°ΠΊΠΆΠ΅ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ трСбуСтся ΠΏΡ€ΠΈ использовании полнотСкстового поиска. Если Π²Ρ‹ Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ поиск ΠΏΠΎ тСксту Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°. Π‘Π΅Π· этого поиск Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½Π° физичСски присутствуСт Π² Π±Π°Π·Π΅.

πŸ“Š Как часто Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π°ΠΌΠΈ 1Π‘ ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²?
Π•ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ
Раз в нСдСлю
Волько Π² ΠΊΠΎΠ½Ρ†Π΅ мСсяца
Никогда, всё Π»Π΅Ρ‚Π°Π΅Ρ‚

Алгоритм ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ индСксации Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΎΡ†Π΅ΡΡ навСдСния порядка Π² индСксах Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ. Π₯Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎΠ΅ созданиС индСксов Β«Π½Π° всякий случай» ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π²Π°ΡˆΡƒ Π±Π°Π·Ρƒ Π² Π½Π΅ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π»ΠΈΠ²ΠΎΠ³ΠΎ монстра. БущСствуСт Ρ‡Π΅Ρ‚ΠΊΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы Π±Π΅Π· Π»ΠΈΡˆΠ½ΠΈΡ… рисков. Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ запросы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнных срСдств ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈΠ»ΠΈ сторонних ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° SQL Profiler.

ПослС выявлСния Β«ΡƒΠ·ΠΊΠΈΡ… мСст» слСдуСт ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π°. НайдитС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ рСгистр накоплСния, рСгистр свСдСний ΠΈΠ»ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ свойства Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ измСрСния ΠΈΠ»ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π³Π°Π»ΠΎΡ‡ΠΊΠ° Β«Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β» установлСна. Если Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ рСгистр, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ индСкса для частых ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ².

β˜‘οΈ План ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ индСксов

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

Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ это дСлаСтся Ρ‡Π΅Ρ€Π΅Π· мСню «АдминистрированиС» β†’ Β«Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…Β». БистСма ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ список ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹. ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ дСйствиС. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ происходит физичСскоС созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Π‘Π£Π‘Π”. Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±Π°Π· этот процСсс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ прогрСсс.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ запускайтС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ссли объСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 10-20 Π“Π±. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкС Β«Π’Π°ΠΉΠΌΠ°ΡƒΡ‚ оТидания Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈΒ» Ρƒ всСх Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΠΎΡ€Ρ‡Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

ВлияниС индСксов Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСрвСра

НаличиС индСксов Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° подсистСму Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (Disk I/O). ΠŸΡ€ΠΈ отсутствии индСкса сСрвСр Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с диска Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько Π½ΡƒΠΆΠ½Ρ‹Ρ… строк. Π­Ρ‚ΠΎ создаСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ дисков ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. ИндСкс позволяСт ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ лишь нСсколько ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚ слуТСбной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹Π΅ адрСса.

Однако обратная сторона ΠΌΠ΅Π΄Π°Π»ΠΈ β€” Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° процСссор ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΈ записи. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ «РСализация Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈ услуг», систСма Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ саму ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΡƒ, Π½ΠΎ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС индСксы, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ этот Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Если Ρƒ вас 50 индСксов Π½Π° ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, опСрация записи становится Π² 50 Ρ€Π°Π· слоТнСС. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ количСство индСксов подбираСтся ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ.

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

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π‘Π΅Π· индСкса Π‘ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ индСксом Π‘ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ индСксами
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния (ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹) Низкая (Full Scan) Высокая (Index Seek) Высокая
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ записи (ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠΈ) Максимальная БрСдняя Низкая (Overhead)
ЗанятоС мСсто Π½Π° дискС МинимальноС Π£ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ ВысокоС
Нагрузка Π½Π° CPU ΠΏΡ€ΠΈ записи Низкая БрСдняя ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ

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

πŸ’‘

Π—ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: индСксируйтС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ поля, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ часто ΠΈΠ΄Π΅Ρ‚ ΠΎΡ‚Π±ΠΎΡ€ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ…, ΠΈ ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ индСксации ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠ·ΠΊΡƒΡŽ ΡΠ΅Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ» ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ активности).

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΏΡ€ΠΈ настройкС ΠΈ ΠΈΡ… устранСниС

Одной ΠΈΠ· самых распространСнных ошибок являСтся индСксация ΠΏΠΎΠ»Π΅ΠΉ с Π½ΠΈΠ·ΠΊΠΎΠΉ ΡΠ΅Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ. Π‘Π΅Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ β€” это ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ индСкса ΠΎΡ‚ΡΠ΅ΠΈΠ²Π°Ρ‚ΡŒ лишниС Π΄Π°Π½Π½Ρ‹Π΅. Если Π²Ρ‹ проиндСксируСтС ΠΏΠΎΠ»Π΅ Β«Π’ΠΈΠ΄ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹Β», Π³Π΄Π΅ 90% Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«Π’ΠΎΠ²Π°Ρ€Β», Ρ‚Π°ΠΊΠΎΠΉ индСкс Π±ΡƒΠ΄Π΅Ρ‚ бСсполСзСн. Π‘Π΅Ρ€Π²Π΅Ρ€ всС Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ всю Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ² врСмя Π΅Ρ‰Π΅ ΠΈ Π½Π° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ индСксу. Π­Ρ‚ΠΎ классичСская ошибка Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π² администрировании 1Π‘.

Другая ΠΊΡ€Π°ΠΉΠ½ΠΎΡΡ‚ΡŒ β€” ΠΏΠΎΠ»Π½ΠΎΠ΅ отсутствиС индСксов Π½Π° составныС ΠΊΠ»ΡŽΡ‡ΠΈ. Π’ 1Π‘ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ слоТныС ΠΎΡ‚Π±ΠΎΡ€Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡΒ» + Β«ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Β» + Β«Π‘Ρ‚Π°Ρ‚ΡŒΡ Π·Π°Ρ‚Ρ€Π°Ρ‚Β». Если проиндСксировано Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ. НСобходимо ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ составныС индСксы, Π³Π΄Π΅ порядок ΠΏΠΎΠ»Π΅ΠΉ соотвСтствуСт частотС использования Π² запросах. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² индСксС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ сСлСктивным.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π° запроса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π“ΠžΠ”(Π”Π°Ρ‚Π°) ΠΈΠ»ΠΈ Π›Π•Π’Π«Π™(Код, 3). Π’Π°ΠΊΠΈΠ΅ выраТСния ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ использованиС индСкса ΠΏΠΎ полю Π”Π°Ρ‚Π° ΠΈΠ»ΠΈ Код, заставляя систСму ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.

Π’Π°ΠΊΠΆΠ΅ часто встрСчаСтся ошибка игнорирования Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ индСксы Β«Ρ€Π°Π·Π΄ΡƒΠ²Π°ΡŽΡ‚ΡΡΒ» ΠΈ Ρ‚Π΅Ρ€ΡΡŽΡ‚ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Π’ MS SQL Server это Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ REORGANIZE ΠΈΠ»ΠΈ REBUILD. Π’ PostgreSQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° VACUUM. Запуск этих ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π° тСхничСского обслуТивания сСрвСра 1Π‘. Π‘Π΅Π· этого Π΄Π°ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ созданный индСкс со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ пСрСстанСт ΡƒΡΠΊΠΎΡ€ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

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

ВСхничСскиС особСнности Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π‘Π£Π‘Π”

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

ΠŸΡ€ΠΈ использовании MS SQL Server администратор ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊ ΠΌΠΎΡ‰Π½ΠΎΠΌΡƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡŽ. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ заполнСния страниц (Fill Factor), Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ индСксов (Filtered Index) для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… условий. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΈΠ΅ ΠΈ быстрыС структуры для спСцифичСских Π·Π°Π΄Π°Ρ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для поиска Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π’ срСдС PostgreSQL, которая Π½Π°Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ Π² сСгмСнтС 1Π‘, ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ индСксации Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ свои Π½ΡŽΠ°Π½ΡΡ‹. Π—Π΄Π΅ΡΡŒ Π²Π°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π°Π²Ρ‚ΠΎΠ²Π°ΠΊΡƒΡƒΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†. Если процСсс вакуумирования Π½Π΅ справляСтся с Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ, индСксы ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°ΡŽΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ росту Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Π°Π·Ρ‹ ΠΈ падСнию скорости. Настройка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² autovacuum являСтся критичСской Π·Π°Π΄Π°Ρ‡Π΅ΠΉ для администратора.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Clustered ΠΈ Non-Clustered

Π’ MS SQL Server ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ кластСризованный индСкс Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ (ΠΎΠ½ опрСдСляСт физичСский порядок строк). ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ индСксы Π±ΡƒΠ΄ΡƒΡ‚ нСкластСризованными (ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ структура с указатСлями). Π’ 1Π‘ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ являСтся кластСризованным индСксом.

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

МоТно Π»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ лишниС индСксы, Ссли Π±Π°Π·Π° Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ ΠΏΡ€ΠΈ записи?

Π”Π°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡƒΠΆΠ½ΠΎ. Если Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ индСксом Π½Π΅ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π΅Π³ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ускорит ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π£Π΄Π°Π»ΡΡ‚ΡŒ индСксы ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€, сняв Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Β«Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β» ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС обновлСния 1Π‘ Π±Π°Π·Π° стала Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅?

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

ВлияСт Π»ΠΈ индСксация Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ?

БСзусловно. Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ мСсто Π½Π° дискС, поэтому Ρ„Π°ΠΉΠ» Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ (Bak ΠΈΠ»ΠΈ dump) Π±ΡƒΠ΄Π΅Ρ‚ большС. Однако ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠΏΠΈΠΈ β€” это малая ΠΏΠ»Π°Ρ‚Π° Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΡƒΡŽ ΠΈ Π±Ρ‹ΡΡ‚Ρ€ΡƒΡŽ систСму. Π‘ΠΆΠΈΠΌΠ°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ бэкапа Π½Π΅ рСкомСндуСтся, это Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ.

Как часто Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ?

Полная пСрСстройка (Rebuild) трСбуСтся Ρ€Π΅Π΄ΠΊΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π°Π· Π² ΠΊΠ²Π°Ρ€Ρ‚Π°Π» ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π³ΠΎΠ΄Π°, Ссли ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 30%. Π§Π°Ρ‰Π΅ достаточно Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ (Reorganize) Ρ€Π°Π· Π² нСдСлю Π² Π½ΠΎΡ‡Π½ΠΎΠ΅ врСмя. Частота зависит ΠΎΡ‚ интСнсивности записи Π΄Π°Π½Π½Ρ‹Ρ… Π² Π²Π°ΡˆΡƒ Π±Π°Π·Ρƒ.

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ индСксация ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² 1Π‘?

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