Questa pagina fornisce correzioni e informazioni consigliate per problemi e domande comuni relativi al motore colonnare di AlloyDB per PostgreSQL.
Hai aggiunto colonne di riferimento al motore colonnare, ma la query SELECT non le utilizza
Descrizione: per utilizzare il motore colonnare, tutte le colonne a cui viene fatto riferimento in un frammento di query, come join e scansioni, devono trovarsi nell'archivio di colonne. Se una colonna di riferimento non è presente nel motore colonnare, il frammento di query viene impostato per impostazione predefinita sull'archivio basato su righe.
Un frammento di query in questo contesto è una query che può avere più nodi di scansione. Ad esempio, il frammento di query può avere due nodi di scansione per un join. Un nodo di scansione potrebbe utilizzare un formato non colonnare e un altro nodo di scansione potrebbe utilizzare un formato colonnare. Tutte le colonne di un nodo di scansione, ovvero le colonne di filtro e le colonne di proiezione, devono essere compilate in formato colonnare. Analogamente, una query può avere alcune partizioni in formato colonnare e altre in formato non colonnare.
Correzione consigliata: per verificare che tutte le colonne di riferimento siano nel motore colonnare, segui questi passaggi:
Controlla i tipi di dati supportati.
Assicurati che AlloyDB supporti tutti i tipi di dati delle colonne che intendi utilizzare con il motore colonnare. Per ulteriori informazioni, vedi Tipi di dati supportati. Se AlloyDB non supporta un tipo di dati critico, contatta l'assistenza clienti Google Cloud.
Controlla gli operatori supportati.
Assicurati che AlloyDB supporti gli operatori sui tipi di dati nel motore colonnare. Per saperne di più sugli operatori supportati, consulta Tipi di query che traggono vantaggio dal motore colonnare.
Esegui il comando
EXPLAIN COLUMNAR_ENGINE.Per identificare e risolvere i problemi che impediscono a query specifiche di utilizzare il motore colonnare, esegui il seguente comando
EXPLAIN COLUMNAR_ENGINE:EXPLAIN (COLUMNAR_ENGINE, ANALYZE) SELECT column1, column2 FROM my_table WHERE column3 > 100;
Non puoi aggiungere o eliminare tabelle nel motore colonnare
Descrizione: vuoi aggiungere o eliminare tabelle nel motore colonnare.
Correzione consigliata: verifica le autorizzazioni dell'utente. Puoi aggiungere o eliminare tabelle nel motore colonnare solo se disponi dei privilegi di lettura sulla tabella.
La dimensione dei dati colonnari supera la memoria allocata
Descrizione: si verificano problemi di prestazioni o di gestione dei dati quando le dimensioni dei dati colonnari superano l'allocazione della memoria per il motore colonnare.
Correzione consigliata: per prestazioni ottimali, utilizza la funzionalità dei suggerimenti di AlloyDB per identificare le tabelle e le colonne ottimali per popolare il motore colonnare.
Se le tabelle e le colonne consigliate superano la memoria fisica del motore colonnare, i dati colonnari in eccesso utilizzano una parte del livello di cache ultraveloce. Le query sui dati rimanenti nella tabella, che non si trovano nel motore colonnare, utilizzano in modo trasparente l'archivio di righe.
Puoi anche regolare l'allocazione della memoria del motore colonnare e della cache di archiviazione. Il motore colonnare viene sottoposto a provisioning con una dimensione predefinita per la memoria e la cache di archiviazione. Puoi configurare manualmente la memoria e la cache di archiviazione. Per modificare la quantità di memoria o di cache di archiviazione allocata al motore colonnare, consulta Configura la memoria per il motore colonnare.