Attivazione e disattivazione di query in parallelo in Aurora MySQL - Amazon Aurora

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à.

Attivazione e disattivazione di query in parallelo in Aurora MySQL

Quando la funzionalità di query in parallelo è abilitata, Aurora MySQL determina se utilizzarla al tempo di esecuzione per ogni query. In caso di join, unioni, sottoquery, ecc., Aurora MySQL determina se utilizzare le query in parallelo al runtime per ogni blocco di query. Per informazioni dettagliate, consulta Identificazione delle istruzioni che utilizzano la funzione di query in parallelo per Aurora MySQL e Costrutti SQL per query in parallelo in Aurora MySQL.

Puoi attivare o disattivare dinamicamente le query parallele di un'istanza database a livello globale e a livello di sessione mediante l'opzione aurora_parallel_query. È possibile modificare l'impostazione aurora_parallel_query nel gruppo di cluster DB per attivare o disattivare la query parallela per impostazione predefinita.

mysql> select @@aurora_parallel_query; +------------------------+ | @@aurora_parallel_query| +------------------------+ | 1 | +------------------------+

Per attivare o disattivare il parametro aurora_parallel_query a livello di sessione, utilizzare i metodi standard per modificare un'impostazione di configurazione client. Ad esempio, è possibile farlo tramite la riga mysql di comando o all'interno di un'applicazione JDBC o ODBC. Ad esempio, il comando sul client MySQL standard è set session aurora_parallel_query = {'ON'/'OFF'}. Puoi anche aggiungere il parametro a livello di sessione alla configurazione JDBC o al codice dell'applicazione per abilitare o disabilitare dinamicamente le query in parallelo.

È possibile modificare in modo permanente l'impostazione per il parametro aurora_parallel_query, per un'istanza DB specifica o per l'intero cluster. Se si specifica il valore del parametro in un gruppo di parametri DB, tale valore si applica solo a un'istanza DB specifica nel cluster. Se si specifica il valore del parametro in un gruppo di parametri cluster DB, tutte le istanze DB del cluster ereditano la stessa impostazione. Per attivare il parametro aurora_parallel_query, utilizza le tecniche applicabili ai gruppi di parametri, come descritto in Gruppi di parametri per Amazon Aurora. Effettua la procedura riportata di seguito.

  1. Creare un gruppo di parametri cluster personalizzato (scelta consigliata) o un gruppo di parametri DB personalizzato.

  2. In questo gruppo di parametri, aggiornare parallel_query al valore desiderato.

  3. A seconda che sia stato creato un gruppo di parametri cluster DB o un gruppo di parametri DB, collegare il gruppo di parametri al cluster Aurora o alle istanze DB specifiche in cui si prevede di utilizzare la funzionalità di query parallela.

    Suggerimento

    Poiché aurora_parallel_query è un parametro dinamico, non richiede il riavvio del cluster dopo aver modificato questa impostazione. Tuttavia, qualsiasi connessione che utilizzava una query parallela prima di attivare l'opzione continuerà a farlo fino a quando la connessione non viene chiusa o l'istanza viene riavviata.

Puoi modificare il parametro di query in parallelo utilizzando l'operazione API ModifyDBClusterParameterGroup o l’operazione API ModifyDBParameterGroup o Console di gestione AWS.

Puoi attivare l’hash join per i cluster di query parallele, attivare e disattivare le query parallele utilizzando la console Amazon RDS o ilAWS CLI e sovrascrivere lo strumento di ottimizzazione di query parallele.

Abilitazione dell'hash join per cluster di query parallele

La query in parallelo viene in genere utilizzata per quei tipi di query che richiedono un uso intensivo di risorse che traggono vantaggio dall'ottimizzazione dell'hash join. Pertanto, è utile assicurarsi che i join hash siano abilitati per i cluster in cui si prevede di utilizzare la query parallela. Per informazioni su come utilizzare i join hash in modo efficace, vedere Ottimizzazione di grandi query di join Aurora MySQL con hash join.

Attivazione e disattivazione della query parallela utilizzando la console

Puoi abilitare o disabilitare le query in parallelo a livello dell'istanza database utilizzando gruppi di parametri.

Per attivare o disattivare la query parallela per un cluster di database con Console di gestione AWS
  1. Creare un gruppo di parametri personalizzato, come descritto in Gruppi di parametri per Amazon Aurora.

  2. Imposta aurora_parallel_query su 1 (attivato) o 0 (disattivato). Per impostazione predefinita, il parametro aurora_parallel_query è abilitato sui cluster dove la funzionalità di query in parallelo è disponibile.

  3. Se si utilizza un gruppo di parametri cluster personalizzato, collegarlo al cluster Aurora DB in cui si prevede di utilizzare la funzionalità di query parallela. Se usi un gruppo di parametri di database personalizzato, collegalo a una o più istanze database nel cluster. Si consiglia di utilizzare un gruppo di parametri cluster. In questo modo si assicura che tutte le istanze DB nel cluster abbiano le stesse impostazioni per la query parallela e le funzionalità associate, ad esempio hash join.

Attivazione e disattivazione della query parallela utilizzando la CLI

Puoi modificare il parametro di query in parallelo utilizzando il comando modify-db-cluster-parameter-group o modify-db-parameter-group. Scegliere il comando appropriato a seconda che si specifichi il valore di aurora_parallel_query tramite un gruppo di parametri cluster DB o un gruppo di parametri DB.

Per abilitare o disabilitare le query in parallelo per un cluster di database con CLI
  • Modificare il parametro di query in parallelo utilizzando il comando modify-db-cluster-parameter-group. Utilizzare un comando come il seguente. Sostituire il nome appropriato per il proprio gruppo di parametri personalizzato. Sostituire ON o OFF per la parte ParameterValue dell'opzione --parameters.

    $ aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name cluster_param_group_name \ --parameters ParameterName=aurora_parallel_query,ParameterValue=ON,ApplyMethod=pending-reboot { "DBClusterParameterGroupName": "cluster_param_group_name" } aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name cluster_param_group_name \ --parameters ParameterName=aurora_pq,ParameterValue=ON,ApplyMethod=pending-reboot

Puoi anche abilitare o disabilitare le query in parallelo a livello di sessione, ad esempio tramite la riga di comando mysql o nell'applicazione JDBC o ODBC. A questo proposito, utilizza i metodi standard impiegati per modificare un'impostazione della configurazione client. Ad esempio, il comando sul client MySQL standard è set session aurora_parallel_query = {'ON'/'OFF'} per Aurora MySQL.

Puoi anche aggiungere il parametro a livello di sessione alla configurazione JDBC o al codice dell'applicazione per abilitare o disabilitare dinamicamente le query in parallelo.

Sostituzione dell'ottimizzatore di query parallele

È possibile utilizzare la variabile di sessione aurora_pq_force per sostituire l'ottimizzatore di query parallele e richiedere una query parallela per ogni query. Ti consigliamo di eseguire questa operazione solo a scopo di test. L'esempio seguente mostra come utilizzare aurora_pq_force in una sessione.

set SESSION aurora_parallel_query = ON; set SESSION aurora_pq_force = ON;

Per disattivare la sostituzione, procedi come segue:

set SESSION aurora_pq_force = OFF;