Condividi tramite


Uso delle raccomandazioni sugli indici prodotte dall'ottimizzazione degli indici in Database di Azure per PostgreSQL - Server flessibile (anteprima)

L'ottimizzazione dell'indice rende persistenti le raccomandazioni fornite in un set di tabelle che si trovano nello schema intelligentperformance nel database azure_sys.

Queste informazioni possono essere lette usando la compilazione della pagina del portale di Azure per questo scopo o eseguendo query per recuperare i dati da due visualizzazioni disponibili all'interno di intelligent performance del database azure_sys.

Usare le raccomandazioni sugli indici tramite il portale di Azure

  1. Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.

  2. Selezionare Ottimizzazione degli indici (anteprima) nella sezione Prestazioni intelligenti del menu.

    • Se la funzionalità è abilitata ma non vengono ancora generate raccomandazioni, la schermata è simile alla seguente:

      Screenshot che mostra l'aspetto della pagina

    • Se la funzionalità è attualmente disabilitata e non ha mai prodotto raccomandazioni in passato, la schermata sarà simile alla seguente:

      Screenshot che mostra l'aspetto della pagina

    • Se la funzionalità è abilitata e non vengono ancora prodotte raccomandazioni, la schermata è simile alla seguente:

      Screenshot che mostra l'aspetto della pagina

    • Se la funzionalità è disabilitata ma ha prodotto raccomandazioni, la schermata sarà simile alla seguente:

      Screenshot che mostra l'aspetto della pagina

  3. Se sono disponibili raccomandazioni, selezionare il riepilogo Visualizza raccomandazioni indice per accedere all'elenco completo:

    Screenshot che mostra l'aspetto della pagina

  4. L'elenco mostra tutte le raccomandazioni disponibili con alcuni dettagli per ognuno di essi. Per impostazione predefinita, l'elenco è ordinato in base all'ultimo consigliato in ordine decrescente, che mostra le raccomandazioni più recenti nella parte superiore. Tuttavia, è possibile ordinare in base a qualsiasi altra colonna e usare la casella di filtro per ridurre l'elenco di elementi visualizzati in tali elementi i cui nomi di database, schema o tabella contengono il testo fornito:

    Screenshot che mostra l'aspetto della pagina

  5. Per visualizzare altre informazioni su una raccomandazione specifica, selezionare il nome della raccomandazione e il riquadro Dettagli raccomandazione indice si apre sul lato destro dello schermo per visualizzare tutti i dettagli disponibili sulla raccomandazione:

    Screenshot che mostra l'aspetto del riquadro

Utilizzare le raccomandazioni sugli indici tramite viste disponibili nel database di azure_sys

  1. Connettersi al database azure_sys disponibile nel server con qualsiasi ruolo autorizzato a connettersi all'istanza. I membri del ruolo public possono leggere da queste visualizzazioni.
  2. Eseguire query sulle viste createindexrecommendations e dropindexrecommendations per recuperare le raccomandazioni generate dall'ottimizzazione dell'indice rispettivamente per le raccomandazioni CREATE INDEX e DROP INDEX.

Visualizzazioni

Le viste nel database azure_sys offrono un modo pratico per accedere e recuperare le raccomandazioni sugli indici generate dall'ottimizzazione dell'indice. In particolare, le viste createindexrecommendations e dropindexrecommendations contengono rispettivamente informazioni dettagliate sulle raccomandazioni CREATE INDEX e DROP INDEX. Queste viste espongono dati come l'ID sessione, il nome del database, il tipo di advisor, l'ora di avvio e arresto della sessione di ottimizzazione, l'ID raccomandazione, il tipo di raccomandazione, il motivo della raccomandazione e altri dettagli pertinenti. Eseguendo query su queste viste, gli utenti possono accedere e analizzare facilmente le raccomandazioni sugli indici generate dall'ottimizzazione dell'indice.

intelligentperformace.createindexrecommendations

La vista createindexrecommendations espone tutti i dettagli per tutte le raccomandazioni CREATE INDEX generate in qualsiasi sessione di ottimizzazione i cui dati sono ancora disponibili nelle tabelle sottostanti.

nome colonna tipo di dati Descrizione
session_id char(36) L'identificatore univoco globale viene assegnato a ogni nuova sessione di ottimizzazione. Se una sessione di ottimizzazione produce raccomandazioni CREATE INDEX e DROP INDEX, in questa vista sono presenti righe e viste dropindexrecommendations con lo stesso valore.
database_name varchar(64) Nome del database nel cui contesto è stato prodotto il consiglio.
advisor_type varchar(64) Valore costante createindex.
start_time timestamp Timestamp in cui è stata avviata la sessione di ottimizzazione che ha prodotto questa raccomandazione.
stop_time timestamp Timestamp in cui è stata avviata la sessione di ottimizzazione che ha prodotto questa raccomandazione. NULL se la sessione è in corso o è stata interrotta a causa di un errore.
session_context JSON Contesto che descrive i dettagli del carico di lavoro analizzato. In particolare, definisce l'intervallo di tempo di destinazione per questa particolare sessione, l'elenco di eccezioni rilevate (se presenti), il numero totale di query nel carico di lavoro analizzato e l'elenco di identificatori di query esaminati.
state pg_recommendation_state_type Indica se la sessione non è riuscita, è stata completata correttamente o è ancora in corso. Error, Success o InProgress.
recommendation_id più piccolo Un numero intero che aumenta in modo monotonico, a partire da zero, viene assegnato a ogni raccomandazione prodotta all'interno del contesto di una sessione di ottimizzazione. Reimposta su zero per ogni nuova sessione di ottimizzazione.
recommendation_type varchar(64) Valore costante CreateIndex.
reason varchar(1024) Motivo che giustifica il motivo per cui questa raccomandazione è stata prodotta. In genere, una o più stringhe concatenate come "Column {columnName} vengono visualizzate in {Join On / Equal Predicate / Non-Equal Predicate / Group By / Order By} clausola/e nella query {queryId}"
recommendation_context JSON Contiene l'elenco di identificatori di query per le query interessate dalla raccomandazione, il tipo di indice consigliato, il nome dello schema e il nome della tabella in cui è consigliato l'indice, le colonne di indice, il nome dell'indice e le dimensioni stimate in byte dell'indice consigliato.

intelligentperformace.dropindexrecommendations

dropindexrecommendations espone tutti i dettagli per tutte le raccomandazioni DROP INDEX generate in qualsiasi sessione di ottimizzazione i cui dati sono ancora disponibili nelle tabelle sottostanti.

nome colonna tipo di dati Descrizione
session_id uuid L'identificatore univoco globale viene assegnato a ogni nuova sessione di ottimizzazione. Se una sessione di ottimizzazione genera raccomandazioni CREATE INDEX e DROP INDEX, in questa vista sono presenti righe e viene creata una vista raccomandazioni sugli indici con lo stesso valore.
database_name Testo Nome del database nel cui contesto è stata generata la raccomandazione.
start_time timestamp Timestamp in cui è stata avviata la sessione di ottimizzazione che ha prodotto questa raccomandazione.
end_time timestamp Timestamp in cui è stata avviata la sessione di ottimizzazione che ha prodotto questa raccomandazione. NULL se la sessione è in corso o è stata interrotta a causa di un errore.
messaggio Testo Contesto che descrive i dettagli del carico di lavoro analizzato. In particolare, definisce l'intervallo di tempo di destinazione per questa particolare sessione, l'elenco di eccezioni rilevate (se presenti), il numero totale di query nel carico di lavoro analizzato e l'elenco di identificatori di query esaminati.
recommendation_id int Un numero intero che aumenta in modo monotonico, a partire da 10000, viene assegnato a ogni raccomandazione prodotta nel contesto di tutte le sessioni di ottimizzazione. Non viene reimpostato su zero per ogni nuova sessione di ottimizzazione.
schema_name Testo Nome dello schema in cui è presente l'indice.
table_name Testo Nome della tabella in cui viene creato l'indice.
index_type Testo Tipo di indice come descritto dal nome del metodo di accesso esposto da pg_am.
index_name Testo Nome dell'indice.
column_list Testo Nomi delle colonne che costituiscono la chiave dell'indice.
Comando Testo Istruzione DROP INDEX per implementare l'azione consigliata.
vantaggio double precision Vantaggio stimato.
index_size double precision Dimensioni stimate dell'indice.
reason Testo Motivo che giustifica il motivo per cui questa raccomandazione è stata prodotta. In genere, per gli indici duplicati segnala un messaggio come "Duplicato di "{indexName}". L'indice equivalente "{IndexName}" {è una chiave primaria, mentre / è un indice univoco, mentre / è un vincolo, mentre / è un indice valido, mentre / è stato scelto come identità di replica, mentre / è stato usato per raggruppare la tabella, mentre / ha una dimensione stimata inferiore rispetto a / ha più tuple rispetto a / ha più analisi di indice rispetto a / è stato recuperato più volte rispetto a / è stato letto più volte rispetto a} {duplicateIndexName}". Facoltativamente, se l'indice non viene identificato solo come duplicato, ma viene anche determinato che non è stato usato per più di index_tuning.unused_min_period giorni, il messaggio "Inoltre, l'indice non viene usato negli ultimi {giorni} giorni".

Per gli indici inutilizzati, il messaggio sarà simile a "L'indice non è stato usato negli ultimi {giorni} giorni".

Applicare le raccomandazioni sugli indici

Le raccomandazioni sugli indici contengono l'istruzione SQL che è possibile eseguire per implementare la raccomandazione.

Le sezioni seguenti illustrano come ottenere questa istruzione per una raccomandazione specifica.

Dopo aver ottenuto l'istruzione, è possibile usare qualsiasi client PostgreSQL delle proprie preferenze per connettersi al server e applicare la raccomandazione.

Ottenere un'istruzione SQL tramite la pagina di ottimizzazione dell'indice (anteprima) nel portale di Azure

  1. Accedere al portale di Azure e selezionare il Database di Azure per il server flessibile PostgreSQL.

  2. Selezionare Ottimizzazione degli indici (anteprima) nella sezione Prestazioni intelligenti del menu.

  3. Supponendo che l'ottimizzazione dell'indice abbia già prodotto raccomandazioni, selezionare il riepilogo Visualizza raccomandazioni sugli indici per accedere all'elenco delle raccomandazioni disponibili.

    Screenshot che mostra l'aspetto della pagina

  4. Dall'elenco di raccomandazioni:

    • Selezionare i puntini di sospensione a destra della raccomandazione per cui si vuole ottenere l'istruzione SQL e selezionare Copia script SQL.

      Screenshot che mostra come copiare l'istruzione SQL dalla pagina

    • In alternativa, selezionare il nome della raccomandazione per visualizzare i dettagli della raccomandazione indice e selezionare l'icona copia negli Appunti nella casella di testo Script SQL per copiare l'istruzione SQL.

      Screenshot che mostra come copiare l'istruzione SQL dalla pagina