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
Meld u aan bij Azure Portal en selecteer uw exemplaar van flexibele Azure Database for PostgreSQL-server.
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:
Als de functie momenteel is uitgeschakeld en de functie in het verleden nooit aanbevelingen heeft opgeleverd, ziet het scherm er als volgt uit:
Als de functie is ingeschakeld en er nog geen aanbevelingen worden gedaan, ziet het scherm er als volgt uit:
Als de functie is uitgeschakeld maar ooit aanbevelingen heeft opgeleverd, ziet het scherm er als volgt uit:
Als er aanbevelingen beschikbaar zijn, selecteert u de samenvatting van aanbevelingen voor index weergeven voor toegang tot de volledige lijst:
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:
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:
Indexaankopen gebruiken via weergaven die beschikbaar zijn in azure_sys database
- 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 depublic
rol kunnen deze weergaven lezen. - Voer query's uit in de
sessions
weergave om de details over aanbevelingssessies op te halen. - 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
Meld u aan bij Azure Portal en selecteer uw exemplaar van flexibele Azure Database for PostgreSQL-server.
Selecteer Indexafstemming in de sectie Intelligente prestaties van het menu.
Ervan uitgaande dat indexafstemming al aanbevelingen heeft geproduceerd, selecteert u de samenvatting van de indexaankopen weergeven voor toegang tot de lijst met beschikbare aanbevelingen.
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.
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.
Gerelateerde inhoud
- Indexafstemming in Azure Database for PostgreSQL - Flexibele server
- Indexafstemming configureren in Azure Database for PostgreSQL - Flexible Server
- Prestaties bewaken met Query Store
- Gebruiksscenario's voor Query Store - Azure Database for PostgreSQL - Flexibele server
- Aanbevolen procedures voor Query Store - Azure Database for PostgreSQL - Flexible Server
- Inzicht in queryprestaties voor Azure Database for PostgreSQL - Flexibele server