Gebruiksscenario's voor Query Store
VAN TOEPASSING OP: Azure Database for PostgreSQL - enkele server
Belangrijk
Azure Database for PostgreSQL - Enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan om een upgrade uit te voeren naar Azure Database for PostgreSQL - Flexible Server. Zie Wat gebeurt er met Azure Database for PostgreSQL Enkele server voor meer informatie over migreren naar Azure Database for PostgreSQL - Flexible Server.
U kunt Query Store gebruiken in een groot aantal scenario's waarin het bijhouden en onderhouden van voorspelbare workloadprestaties essentieel is. Bekijk de volgende voorbeelden:
- Meest dure query's identificeren en afstemmen
- A/B-tests
- Prestaties stabiel houden tijdens upgrades
- Ad-hocworkloads identificeren en verbeteren
Dure query's identificeren en afstemmen
Langstlopende query's identificeren
Gebruik de weergave Query Performance Insight in Azure Portal om snel de langst lopende query's te identificeren. Deze query's verbruiken doorgaans een aanzienlijke hoeveelheid resources. Door uw langst lopende vragen te optimaliseren, kunt u de prestaties verbeteren door resources vrij te maken voor gebruik door andere query's die op uw systeem worden uitgevoerd.
Doelquery's met prestatie-delta's
Query Store segmenteert de prestatiegegevens in tijdvensters, zodat u de prestaties van een query in de loop van de tijd kunt bijhouden. Dit helpt u precies te bepalen welke query's bijdragen aan een toename van de totale tijd die wordt besteed. Als gevolg hiervan kunt u gerichte probleemoplossing van uw workload uitvoeren.
Dure query's afstemmen
Wanneer u een query identificeert met suboptimale prestaties, is de actie die u uitvoert afhankelijk van de aard van het probleem:
- Gebruik prestatieaankopen om te bepalen of er voorgestelde indexen zijn. Zo ja, maak de index en gebruik vervolgens Query Store om de queryprestaties te evalueren nadat u de index hebt gemaakt.
- Zorg ervoor dat de statistieken up-to-date zijn voor de onderliggende tabellen die door de query worden gebruikt.
- Overweeg dure query's te herschrijven. Profiteer bijvoorbeeld van queryparameterisatie en verminder het gebruik van dynamische SQL. Implementeer optimale logica bij het lezen van gegevens, zoals het toepassen van gegevensfiltering aan de databasezijde, niet aan de toepassingszijde.
A/B-tests
Gebruik Query Store om de prestaties van workloads te vergelijken voor en na een wijziging in een toepassing die u wilt introduceren. Voorbeelden van scenario's voor het gebruik van Query Store om de impact van de omgeving of toepassingswijziging in workloadprestaties te beoordelen:
- Een nieuwe versie van een toepassing implementeren.
- Extra resources toevoegen aan de server.
- Ontbrekende indexen maken voor tabellen waarnaar wordt verwezen door dure query's.
Pas in een van deze scenario's de volgende werkstroom toe:
- Voer uw workload uit met Query Store voordat de geplande wijziging een prestatiebasislijn genereert.
- Toepassingswijziging(en) toepassen op het gecontroleerde moment in de tijd.
- Ga door met het uitvoeren van de workload lang genoeg om na de wijziging prestatie-installatiekopieën van het systeem te genereren.
- Vergelijk de resultaten van vóór en na de wijziging.
- Bepaal of u de wijziging of terugdraaiactie wilt behouden.
Ad-hocworkloads identificeren en verbeteren
Sommige workloads hebben geen dominante query's die u kunt afstemmen om de algehele prestaties van toepassingen te verbeteren. Deze workloads worden doorgaans gekenmerkt door een relatief groot aantal unieke query's, die elk een deel van systeembronnen verbruiken. Elke unieke query wordt onregelmatig uitgevoerd, dus individueel is hun runtimeverbruik niet kritiek. Daarentegen, gezien het feit dat de toepassing steeds nieuwe query's genereert, wordt een aanzienlijk deel van de systeembronnen besteed aan het compileren van query's, wat niet optimaal is. Deze situatie treedt meestal op als uw toepassing query's genereert (in plaats van opgeslagen procedures of geparameteriseerde query's te gebruiken) of als deze afhankelijk is van frameworks voor object-relationele toewijzing die standaard query's genereren.
Als u de toepassingscode beheert, kunt u overwegen de gegevenstoegangslaag te herschrijven voor het gebruik van opgeslagen procedures of geparameteriseerde query's. Deze situatie kan echter ook worden verbeterd zonder toepassingswijzigingen door queryparameterisatie af te dwingen voor de hele database (alle query's) of voor de afzonderlijke querysjablonen met dezelfde query-hash.
Volgende stappen
- Meer informatie over de aanbevolen procedures voor het gebruik van Query Store
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor