Miroslav Holec

Software & Cloud Architect

miroslavholec.cz / blog / tuning-indexu-s-index-advisorem-v-microsoft-azure

Tuning indexů s Index Advisorem v Microsoft Azure

Miroslav Holec

Miroslav Holec

Publikován 16. listopadu 2015 , aktualizace: 29. března 2016

Tento článek je starší 18 měsíců a je proto možné, že popisuje postupy nebo technologie, které v uplynulé době mohly doznat výraznějších změn. Názory a myšlenky v tomto článku již nemusí vyjadřovat současné stanovisko autora nebo autorů. Článek byl napsán 16. listopadu 2015.

PaaS služby v prostředí Microsoft Azure vývojáře odstiňují od nezáživné správy hardware a systému a šetří čas díky kterému se lze zaměřit se na samotný vývoj aplikací. Vývojářský tým Microsoftu v poslední době tuto tradiční výhodu PaaS umocňuje přidáváním řady zajímavých features, mezi které lze zařadit i SQL Database Index Advisor.

SQL Database Index Advisor

Nová služba Index Advisor je aktuálně dostupná pouze v Preview Portálu a je nutné ji explicitně povolit v prostředí Microsoft Azure. Učinit tak lze v Settings blade na libovolné PaaS databázi. Poté se na overview blade začne zobrazovat počet nových doporučení.

Overview blade

Od momentu povolení služby Index Advisor začne Azure vyhodnocovat dotazy odesílané proti databázím a zhruba po 24 hodinách nabídne první návrhy na vytvoření indexů. Pro databáze na serverech verze V12 lze dále validovat již existující indexy.

Po tom, co vývojář vytvoří nové indexy, následně Azure pokračuje v analýze výkonnosti a poskytne detailní přehled o impactu provedených změn. Pokud je důsledek vyhodnocen jako negativní, Azure automaticky indexy zpětně zruší.

Automatické vytváření a odstraňování indexů je dostupné jen pro databáze na serverech V12. Proto Azure poskytuje pro doporučené indexy i samotné SQL skripty a změny lze tudíž provádět i manuálně bez nutnosti automatizace. Manuálně je pak nutné kontrolovat důsledek změn a případně indexy ručně odstraňovat.

Doporučené indexy

Doporučení jsou seřazena dle potenciálního impactu do 4 kategorií:

  • high: vysoký impact na výkonnost (skoro určitě pozitivní)
  • substantial: velký impact na výkonnost (pravděpodobně pozitivní)
  • moderate: střední impact na výkonnost
  • low: malý impact na výkonnost (teoreticky i opačným směrem)

Školení ASP.NET Core a Entity Framework Core

Budoucnost platformy .NET bude patřit technologiím ASP.NET Core a EF Core. Přijďte se naučit tyto moderní technologie používat na mém praktickém školení.

6.11.2017 - 8.11.2017 ASP.NET Core MVC
20.11.2017 - 21.11.2017 Entity Framework Core