Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Aktivieren und Deaktivieren von Parallel Query in Aurora MySQL
Wenn die parallele Abfrage aktiviert ist, bestimmt Aurora MySQL, ob sie zur Laufzeit für jede Abfrage verwendet wird. Werden Join-Abfragen, Union-Abfragen, Unterabfragen usw. durchgeführt, entscheidet Aurora MySQL bei jedem Abfrageblock, ob zur Laufzeit parallel abgefragt werden soll. Details dazu finden Sie unter Überprüfen, welche Anweisungen Parallel Query für Aurora MySQL verwenden und SQL-Konstrukte für Parallel Query in Aurora MySQL.
Sie können parallele Abfragen sowohl auf globaler als auch auf Sitzungsebene für eine DB-Instance dynamisch ein- und ausschalten, indem Sie die Option aurora_parallel_query verwenden. Sie können die Einstellung aurora_parallel_query in Ihrer DB-Clustergruppe so ändern, dass die parallele Abfrage standardmäßig aktiviert oder deaktiviert wird.
mysql>select @@aurora_parallel_query;+------------------------+ | @@aurora_parallel_query| +------------------------+ | 1 | +------------------------+
Um de Parameter aurora_parallel_query auf Sitzungsebene zu aktivieren und zu deaktivieren, verwenden Sie die Standardmethoden zum Anpassen von Client-Konfigurationseinstellungen. Sie können dies beispielsweise über die mysql-Befehlszeile oder in einer JDBC- oder ODBC-Anwendung tun. Der Befehl für den Standard-MySQL-Client lautet set session aurora_parallel_query =
{'ON'/'OFF'}. Sie können den Parameter auf Sitzungsebene auch der JDBC-Konfiguration oder innerhalb Ihres Anwendungscodes hinzufügen, um parallele Abfragen dynamisch ein- oder auszuschalten.
Sie können die Einstellung für den Parameter aurora_parallel_query dauerhaft ändern, entweder für eine bestimmte DB-Instance oder für den gesamten Cluster. Wenn Sie den Parameterwert in einer DB-Parametergruppe angeben, gilt dieser Wert nur für bestimmte DB-Instances in Ihrem Cluster. Wenn Sie den Parameterwert in einer DB-Cluster-Parametergruppe angeben, erben alle DB-Instances im Cluster dieselbe Einstellung. Um den Parameter aurora_parallel_query umzuschalten, wenden Sie die Methoden an, die Sie auch für Parametergruppen verwenden, siehe Parametergruppen für Amazon Aurora. Dazu gehen Sie wie folgt vor:
-
Erstellen Sie eine benutzerdefinierte Cluster-Parametergruppe (empfohlen) oder eine benutzerdefinierte DB-Parametergruppe.
-
Aktualisieren Sie in dieser Parametergruppe
parallel_queryauf den gewünschten Wert. -
Abhängig davon, ob Sie eine DB-Cluster-Parametergruppe oder eine DB-Parametergruppe erstellt haben, hängen Sie die Parametergruppe Ihrem Aurora-Cluster oder den spezifischen DB-Instances an, in denen Sie die Parallelabfrage-Funktion verwenden möchten.
Tipp
Da es sich bei
aurora_parallel_queryum einen dynamischen Parameter handelt, ist ein Neustart des Clusters nach dem Ändern dieser Einstellung nicht erforderlich. Alle Verbindungen, die vor dem Umschalten der Option eine parallele Abfrage verwendeten, setzen diesen Vorgang fort, bis die Verbindung geschlossen oder die Instance neu gestartet wird.
Sie können den Parallelabfrageparameter nachträglich anpassen. Verwenden Sie dazu die API-Operationen ModifyDBClusterParameterGroup oder ModifyDBParameterGroup oder die AWS-Managementkonsole.
Sie können einen Hash-Join für Parallel-Query-Cluster aktivieren, Parallel Query mit der Amazon-RDS-Konsole oder der AWS CLI aktivieren oder deaktivieren und den Optimierer für Parallel Query überschreiben.
Inhalt
Hash-Join für parallele Abfrage-Cluster aktivieren
Parallele Abfragen werden typischerweise für ressourcenintensive Abfragen verwendet, die von der Hash-Join-Optimierung profitieren. Daher ist es hilfreich sicherzustellen, dass Hash-Joins für Cluster aktiviert sind, in denen Sie parallele Abfragen verwenden möchten. Informationen zur effektiven Verwendung von Hash-Joins finden Sie unter Optimierung von großen Aurora-MySQL-Join-Abfragen mit Hash-Joins.
Ein- und Ausschalten der parallelen Abfrage mit der Konsole
Sie können die parallele Abfrage auf DB-Instance-Ebene oder DB-Cluster-Ebene aktivieren oder deaktivieren, indem Sie mit Parametergruppen arbeiten.
So aktivieren oder deaktivieren Sie die parallele Abfrage für einen DB-Cluster mit der AWS-Managementkonsole
-
Erstellen Sie eine benutzerdefinierte Parametergruppe, wie in Parametergruppen für Amazon Aurora beschrieben.
-
Aktualisieren Sie aurora_parallel_query zu 1 (aktiviert) oder 0 (deaktiviert). Für Cluster, in denen die parallele Abfragefunktion verfügbar ist, ist aurora_parallel_query standardmäßig deaktiviert.
-
Wenn Sie eine benutzerdefinierte Cluster-Parametergruppe verwenden, fügen Sie sie dem Aurora-DB-Cluster zu, in dem Sie die parallele Abfrage verwenden möchten. Wenn Sie eine benutzerdefinierte DB-Parametergruppe verwenden, fügen Sie sie einer oder mehreren DB-Instances im Cluster zu. Wir empfehlen die Verwendung einer Cluster-Parametergruppe. Dadurch wird sichergestellt, dass alle DB-Instances im Cluster die gleichen Einstellungen für die parallele Abfrage und zugehörige Funktionen wie Hash-Join haben.
Ein- und Ausschalten der parallelen Abfrage mit der CLI
Sie können den Parallelabfrageparameter nachträglich anpassen. Verwenden Sie dazu den Befehl modify-db-cluster-parameter-group oder modify-db-parameter-group. Wählen Sie den entsprechenden Befehl, je nachdem, ob Sie den Wert von aurora_parallel_query über eine DB-Cluster-Parametergruppe oder eine DB-Parametergruppe angeben.
So aktivieren oder deaktivieren Sie die parallele Abfrage für einen DB-Cluster mit der CLI
-
Passen Sie den Parallelabfrageparameter nachträglich an. Verwenden Sie dazu den Befehl
modify-db-cluster-parameter-group. Verwenden Sie einen Befehl wie den folgenden. Ersetzen Sie den entsprechenden Namen mit Ihrer eigenen benutzerdefinierten Parametergruppe. Setzen Sie entwederONoderOFFein in denParameterValue-Teil der Option--parameters.$aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-namecluster_param_group_name\ --parameters ParameterName=aurora_parallel_query,ParameterValue=ON,ApplyMethod=pending-reboot{ "DBClusterParameterGroupName": "aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-namecluster_param_group_name" }cluster_param_group_name\ --parameters ParameterName=aurora_pq,ParameterValue=ON,ApplyMethod=pending-reboot
Sie können parallele Abfragen auch auf Sitzungsebene aktivieren oder deaktivieren, beispielsweise über die Befehlszeile mysql oder in einer JDBC- oder ODBC-Anwendung. Verwenden Sie dafür die Standardmethoden zum Anpassen von Client-Konfigurationseinstellungen. Beispielsweise lautet der Befehl für den Standard-MySQL-Client set session aurora_parallel_query = {'ON'/'OFF'} für Aurora MySQL.
Sie können den Parameter auf Sitzungsebene auch der JDBC-Konfiguration oder innerhalb Ihres Anwendungscodes hinzufügen, um parallele Abfragen dynamisch ein- oder auszuschalten.
Überschreiben des Parallelabfrageoptimierers
Sie können die Sitzungsvariable aurora_pq_force verwenden, um den Parallelabfrageoptimierer zu überschreiben und für jede Abfrage eine Parallelabfrage anzufordern. Wir empfehlen diese Vorgehensweise nur zu Testzwecken. Das folgende Beispiel zeigt, wie Sie aurora_pq_force in einer Sitzung verwenden.
set SESSION aurora_parallel_query = ON; set SESSION aurora_pq_force = ON;
Gehen Sie wie folgt vor, um die Überschreibung zu deaktivieren:
set SESSION aurora_pq_force = OFF;