Delen via


Indexaanbeveling gebruiken die worden geproduceerd door indexafstemming in Azure Database for PostgreSQL - Flexible Server

Indexafstemming blijft de aanbevelingen die worden aangebracht in een set tabellen die zich onder het intelligentperformance schema in de azure_sys database bevinden.

Deze informatie kan momenteel worden gelezen met behulp van de Azure Portal-paginabuild voor dit doel of door query's uit te voeren om gegevens op te halen uit twee weergaven die beschikbaar zijn in de intelligent performance azure_sys database.

Aanbevelingen voor indexen gebruiken via Azure Portal

  1. Meld u aan bij Azure Portal en selecteer uw exemplaar van flexibele Azure Database for PostgreSQL-server.

  2. Selecteer Indexafstemming in de sectie Intelligente prestaties van het menu.

    • Als de functie is ingeschakeld, maar er nog geen aanbevelingen worden gedaan, ziet het scherm er als volgt uit:

      Schermopname van het aspect van de pagina Indexafstemming wanneer de functie is ingeschakeld, maar er zijn geen aanbevelingen.

    • Als de functie momenteel is uitgeschakeld en de functie in het verleden nooit aanbevelingen heeft opgeleverd, ziet het scherm er als volgt uit:

      Schermopname van het aspect van de pagina Indexafstemming wanneer de functie is uitgeschakeld en er geen aanbevelingen zijn.

    • Als de functie is ingeschakeld en er nog geen aanbevelingen worden gedaan, ziet het scherm er als volgt uit:

      Schermopname van het aspect van de pagina Indexafstemming wanneer de functie is ingeschakeld en er geen aanbevelingen zijn.

    • Als de functie is uitgeschakeld maar ooit aanbevelingen heeft opgeleverd, ziet het scherm er als volgt uit:

      Schermopname van het aspect van de pagina Indexafstemming wanneer de functie is uitgeschakeld en er aanbevelingen zijn.

  3. Als er aanbevelingen beschikbaar zijn, selecteert u de samenvatting van aanbevelingen voor index weergeven voor toegang tot de volledige lijst:

    Schermopname van het aspect van de pagina Indexafstemming wanneer er aanbevelingen zijn en de manier om naar de volledige lijst te gaan.

  4. De lijst bevat alle beschikbare aanbevelingen met enkele details voor elk van deze aanbevelingen. De lijst wordt standaard gesorteerd op Laatst aanbevolen in aflopende volgorde, met de meest recente aanbevelingen bovenaan. U kunt echter sorteren op een andere kolom en het filtervak gebruiken om de lijst met items te verminderen die worden weergegeven voor die items waarvan de database, het schema of de tabelnamen de opgegeven tekst bevatten:

    Schermopname van het aspect van de pagina Indexaan aanbevelingen met verschillende aanbevelingen.

  5. Als u meer informatie over een specifieke aanbeveling wilt zien, selecteert u de naam van die aanbeveling en wordt het detailvenster Voor indexaanaankopen aan de rechterkant van het scherm geopend om alle beschikbare details over de aanbeveling weer te geven:

    Schermopname van het aspect van het deelvenster Aanbevelingsdetails index voor één bepaalde aanbeveling.

Indexaankopen gebruiken via weergaven die beschikbaar zijn in azure_sys database

  1. Maak verbinding met de azure_sys database die beschikbaar is op uw server met een rol die gemachtigd is om verbinding te maken met het exemplaar. Leden van de public rol kunnen deze weergaven lezen.
  2. Voer query's uit in de sessions weergave om de details over aanbevelingssessies op te halen.
  3. Voer query's uit in de recommendations weergave om de aanbevelingen op te halen die worden geproduceerd door indexafstemming voor CREATE INDEX en DROP INDEX.

Weergaven

Weergaven in de azure_sys database bieden een handige manier om indexaan aanbevelingen te openen en op te halen die worden gegenereerd door indexafstemming. In het bijzonder bevatten de createindexrecommendations en dropindexrecommendations weergaven gedetailleerde informatie over respectievelijk aanbevelingen voor CREATE INDEX en DROP INDEX. Deze weergaven bevatten gegevens zoals de sessie-id, databasenaam, advisor-type, begin- en eindtijden van de afstemmingssessie, aanbevelings-id, aanbevelingstype, reden voor de aanbeveling en andere relevante details. Door query's uit te voeren op deze weergaven, kunnen gebruikers eenvoudig de indexaankopen openen en analyseren die worden geproduceerd door indexafstemming.

intelligentperformance.sessions

In sessions de weergave worden alle details voor alle sessies voor het afstemmen van indexen weergegeven.

kolomnaam gegevenstype Beschrijving
session_id uuid Globally Unique Identifier toegewezen aan elke nieuwe afstemmingssessie die wordt gestart.
database_name varchar(64) Naam van de database in de context waarin de indexafstemmingssessie is uitgevoerd.
session_type intelligentperformance.recommendation_type Geeft aan welke typen aanbevelingen deze indexafstemmingssessie kan produceren. Mogelijke waarden zijn: CreateIndex, DropIndex. Sessies van het CreateIndex type kunnen aanbevelingen van het CreateIndex type produceren. Sessies van het DropIndex type kunnen aanbevelingen van DropIndex of ReIndex typen produceren.
run_type intelligentperformance.recommendation_run_type Geeft de manier aan waarop deze sessie is gestart. Mogelijke waarden zijn: Scheduled. Sessies die automatisch worden uitgevoerd op basis van de waarde van index_tuning.analysis_interval, krijgen een uitvoeringstype .Scheduled
staat intelligentperformance.recommendation_state Geeft de huidige status van de sessie aan. Mogelijke waarden zijn: Error, Success, InProgress. Sessies waarvan de uitvoering is mislukt, worden ingesteld als Error. Sessies die hun uitvoering correct hebben voltooid, ongeacht of ze aanbevelingen hebben gegenereerd, worden ingesteld als Success. Sessies die nog steeds worden uitgevoerd, worden ingesteld als InProgress.
begintijd tijdstempel zonder tijdzone Tijdstempel waarop de afstemmingssessie die deze aanbeveling heeft geproduceerd, is gestart.
stop_time tijdstempel zonder tijdzone Tijdstempel waarop de afstemmingssessie die deze aanbeveling heeft geproduceerd, is gestart. NULL als de sessie wordt uitgevoerd of is afgebroken vanwege een fout.
recommendations_count geheel getal Het totale aantal aanbevelingen dat in deze sessie is geproduceerd.

intelligentperformance.recommendations

In recommendations de weergave worden alle details weergegeven voor alle aanbevelingen die worden gegenereerd voor elke afstemmingssessie waarvan de gegevens nog steeds beschikbaar zijn in de onderliggende tabellen.

kolomnaam gegevenstype Beschrijving
recommendation_id geheel getal Getal dat een aanbeveling op unieke wijze identificeert op de hele server.
last_known_session_id uuid Aan elke sessie voor het afstemmen van indexen wordt een Globally Unique Identifier toegewezen. De waarde in deze kolom vertegenwoordigt die van de sessie die deze aanbeveling het laatst heeft geproduceerd.
database_name varchar(64) Naam van de database in de context waarin de aanbeveling is gemaakt.
recommendation_type intelligentperformance.recommendation_type Geeft het type aanbeveling aan dat is geproduceerd. Mogelijke waarden zijn: CreateIndex, DropIndex, ReIndex.
initial_recommended_time tijdstempel zonder tijdzone Tijdstempel waarop de afstemmingssessie die deze aanbeveling heeft geproduceerd, is gestart.
last_recommended_time tijdstempel zonder tijdzone Tijdstempel waarop de afstemmingssessie die deze aanbeveling heeft geproduceerd, is gestart.
times_recommended geheel getal Tijdstempel waarop de afstemmingssessie die deze aanbeveling heeft geproduceerd, is gestart.
reason sms verzenden Reden waarom deze aanbeveling is geproduceerd.
recommendation_context json Bevat de lijst met query-id's voor de query's die worden beïnvloed door de aanbeveling, het type index dat wordt aanbevolen, de naam van het schema en de naam van de tabel waarop de index wordt aanbevolen, de indexkolommen, de indexnaam en de geschatte grootte in bytes van de aanbevolen index.
Redenen voor het maken van indexaan aanbevelingen

Wanneer indexafstemming het maken van een index aanbeveelt, voegt deze ten minste een van de volgende redenen toe:

Reden
Column <column> appear in Join On clause(s) in query <queryId>
Column <column> appear in Equal Predicate clause(s) in query <queryId>
Column <column> appear in Non-Equal Predicate clause(s) in query <queryId>
Column <column> appear in Group By clause(s) in query <queryId>
Column <column> appear in Order By clause(s) in query <queryId>
Redenen voor aanbevelingen voor drop index

Wanneer indexafstemming alle indexen identificeert die als ongeldig zijn gemarkeerd, wordt voorgesteld deze te verwijderen met de volgende reden:

The index is invalid and the recommended recovery method is to reindex.

Raadpleeg de officiële documentatie van REINDEX in PostgreSQL voor meer informatie over waarom en wanneer indexen als ongeldig zijn gemarkeerd.

Redenen voor aanbevelingen voor drop index

Wanneer indexafstemming detecteert dat een index die niet wordt gebruikt voor ten minste het aantal dagen dat is ingesteld index_tuning.unused_min_period, wordt voorgesteld om deze te verwijderen met de volgende reden:

The index is unused in the past <days_unused> days.

Wanneer het afstemmen van indexen dubbele indexen detecteert, overleeft een van de duplicaten en wordt voorgesteld om de resterende indexen te verwijderen. De opgegeven reden heeft altijd de volgende begintekst:

Duplicate of <surviving_duplicate>.

Gevolgd door een andere tekst die de reden verklaart waarom elk van de duplicaten is gekozen voor drop:

Reden
The equivalent index "<surviving_duplicate>" is a Primary key, while "<droppable_duplicate>" is not.
The equivalent index "<surviving_duplicate>" is a unique index, while "<droppable_duplicate>" is not.
The equivalent index "<surviving_duplicate>" is a constraint, while "<droppable_duplicate>" is not.
The equivalent index "<surviving_duplicate>" is a valid index, while "<droppable_duplicate>" is not.
The equivalent index "<surviving_duplicate>" has been chosen as replica identity, while "<droppable_duplicate>" is not.
The equivalent index "<surviving_duplicate>" was used to cluster the table, while "<droppable_duplicate>" was not.
The equivalent index "<surviving_duplicate>" has a smaller estimated size compared to "<droppable_duplicate>".
The equivalent index "<surviving_duplicate>" has more tuples compared to "<droppable_duplicate>".
The equivalent index "<surviving_duplicate>" has more index scans compared to "<droppable_duplicate>".
The equivalent index "<surviving_duplicate>" has been fetched more times compared to "<droppable_duplicate>".
The equivalent index "<surviving_duplicate>" has been read more times compared to "<droppable_duplicate>".
The equivalent index "<surviving_duplicate>" has a shorter length compared to "<droppable_duplicate>".
The equivalent index "<surviving_duplicate>" has a smaller oid compared to "<droppable_duplicate>".

Als de index niet alleen verwisselbaar is vanwege duplicatie, maar ook niet wordt gebruikt voor ten minste het aantal dagen dat is ingesteld index_tuning.unused_min_period, wordt de volgende tekst toegevoegd aan de reden:

Also, the index is unused in the past <days_unused> days.

Aanbevelingen voor index toepassen

Indexaanbeveling bevat de SQL-instructie die u kunt uitvoeren om de aanbeveling te implementeren.

In de volgende secties ziet u hoe deze instructie kan worden verkregen voor een bepaalde aanbeveling.

Zodra u de instructie hebt, kunt u elke PostgreSQL-client van uw voorkeur gebruiken om verbinding te maken met uw server en de aanbeveling toe te passen.

SQL-instructie verkrijgen via de pagina Indexafstemming in Azure Portal

  1. Meld u aan bij Azure Portal en selecteer uw exemplaar van flexibele Azure Database for PostgreSQL-server.

  2. Selecteer Indexafstemming in de sectie Intelligente prestaties van het menu.

  3. Ervan uitgaande dat indexafstemming al aanbevelingen heeft geproduceerd, selecteert u de samenvatting van de indexaankopen weergeven voor toegang tot de lijst met beschikbare aanbevelingen.

    Schermopname van het aspect van de pagina Indexafstemming wanneer er aanbevelingen zijn en de manier om naar de volledige lijst te gaan.

  4. In de lijst met aanbevelingen:

    • Selecteer het beletselteken rechts van de aanbeveling waarvoor u de SQL-instructie wilt ophalen en selecteer SQL-script kopiëren.

      Schermopname die laat zien hoe u de SQL-instructie kopieert van de pagina Aanbevelingen voor indexen.

    • Of selecteer de naam van de aanbeveling om de details van de indexaanveling weer te geven en selecteer het kopieerpictogram naar het klembord in het tekstvak van het SQL-script om de SQL-instructie te kopiëren.

      Schermopname van het kopiëren van de SQL-instructie van de pagina Aanbevelingsdetails index.