Domande frequenti - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Domande frequenti

Trova le risposte alle domande frequenti sull'ottimizzazione delle prestazioni delle query.

Che cos'è EXPLAIN?

EXPLAINè una parola chiave da anteporre a una query PostgreSQL (SELECT,,UPDATE,INSERT) per generare un piano di query. DELETE Il piano di query PostgreSQL descrive in dettaglio come il database intende eseguire la query. Questo piano include informazioni sull'ordine di scansione della tabella, sull'utilizzo dell'indice e sui join.

Utilizza il piano di interrogazione per identificare potenziali rallentamenti, ottimizzare le query e migliorare le prestazioni complessive. Durante la revisione del piano di interrogazione, considera i seguenti fattori:

  • Approcci di accesso alla tabella

  • Approcci congiunti

  • Condizioni di filtro

  • Operazioni di ordinamento

  • Utilizzo dell'indice

  • Parallelism

  • Statistiche

  • Stime dei costi

  • Righe recuperate da ogni passaggio

  • Distribuzione dei dati

Per ulteriori informazioni su EXPLAIN, consulta la documentazione di PostgreSQL.

Che cos'è EXPLAIN ANALYZE?

Quando anteponi una query ed EXPLAIN ANALYZE esegui la query, PostgreSQL esegue la query e restituisce sia il piano di query che le statistiche di runtime. Il runtime effettivo, le righe elaborate da ogni passaggio e altre informazioni pertinenti vengono visualizzate insieme al piano di query. L'utilizzo EXPLAIN ANALYZE su un database di produzione deve essere eseguito con cautela, poiché l'esecuzione della query potrebbe influire sulle prestazioni del database durante l'analisi.

Per ulteriori informazioni su EXPLAIN ANALYZE, consulta la documentazione di PostgreSQL.

Cos'è la collazione in PostgreSQL?

In PostgreSQL, una collazione è un insieme di regole per determinare come le stringhe vengono confrontate e ordinate. La collazione definisce l'ordine in cui i caratteri vengono considerati nei confronti, considerando le regole e le conversioni specifiche della lingua.

Per ulteriori informazioni sulle regole di confronto, consulta la documentazione di PostgreSQL.

Cos'è un CTE?

In un database PostgreSQL, una Common Table Expression (CTE) è un set di risultati temporaneo denominato a cui è possibile fare riferimento. I CTE forniscono un modo per creare query SQL più leggibili e modulari suddividendo la logica complessa in unità denominate più piccole.

Per ulteriori informazioni sui CTE, consulta la documentazione di PostgreSQL.

Quali sono le categorie di funzioni in PostgreSQL?

Ogni funzione PostgreSQL ha una classificazione di volatilità, con le possibilità seguenti: VOLATILE STABLE IMMUTABLE

  • VOLATILE: una VOLATILE funzione può fare qualsiasi cosa, inclusa la modifica del database. Può restituire risultati diversi in chiamate successive con gli stessi argomenti. L'ottimizzatore non fa ipotesi sul comportamento di tali funzioni. Una query che utilizza una funzione volatile rivaluterà la funzione in ogni riga in cui è necessario il relativo valore.

  • STABILE: una STABLE funzione non può modificare il database. È garantito che restituirà gli stessi risultati con gli stessi argomenti per tutte le righe all'interno di una singola istruzione. Quando si utilizza questa classificazione, l'ottimizzatore può ottimizzare più chiamate della funzione in una singola chiamata. In particolare, è sicuro utilizzare un'espressione che contiene tale funzione in una condizione di scansione dell'indice. (Poiché una scansione dell'indice valuterà il valore di confronto solo una volta, non una volta per riga, non è valido utilizzare una VOLATILE funzione in una condizione di scansione dell'indice.)

  • IMMUTABILE: una IMMUTABLE funzione non può modificare il database ed è garantita la restituzione degli stessi risultati con gli stessi argomenti per sempre. Quando si utilizza questa classificazione, l'ottimizzatore può valutare preventivamente la funzione quando una query la richiama con argomenti costanti. Ad esempio, una query come quella SELECT ... WHERE x = 2 + 2 può essere semplificata a prima vistaSELECT ... WHERE x = 4, poiché la funzione alla base dell'operatore di addizione di numeri interi è contrassegnata. IMMUTABLE

VOLATILEè l'impostazione predefinita se il CREATE FUNCTION comando non specifica una categoria. Per ulteriori informazioni sui tipi di funzioni, consulta la documentazione di PostgreSQL.