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.
mysql.rds_execute_operation
Führt InnoDB-Vorgänge aus, um Pufferpoolstatus und temporäre Tablespaces zu verwalten. Dieses Verfahren kann verwendet werden, um InnoDB-Vorgänge wie z. B. Auslesen und Laden von Pufferpoolstatus oder Kürzen temporärer Tablespaces dynamisch zu steuern.
Syntax
CALL mysql.rds_execute_operation(operation);
Parameter
- Operation beschleunigen
-
Zeichenfolge. Die auszuführenden InnoDB-Vorgänge. Folgende sind gültige Werte:
innodb_buffer_pool_dump_now: Vorgang, bei dem der aktuelle Status des Pufferpools ausgelesen wird.
innodb_buffer_pool_load_now: Vorgang, bei dem der gespeicherte Pufferpoolstatus geladen wird.
innodb_buffer_pool_load_abort: Vorgang, bei dem ein Ladevorgang des Pufferpools abgebrochen wird.
innodb_truncate_temporary_tablespace_now: Vorgang, bei dem der temporäre Tablespace gekürzt wird.
Nutzungshinweise
Dieses Verfahren wird nur für MariaDB-DB-Instances unterstützt, auf denen MariaDB 11.8 und höher ausgeführt wird.
Während der Ausführung ist die Binärprotokollierung vorübergehend deaktiviert, um die Replikation dieser administrativen Befehle zu verhindern.
Mit diesem Verfahren wird ein Audit Trail verwaltet, indem alle Vorgänge in der Tabelle mysql.rds_history
Beispiele
Im folgenden Beispiel ist die Kürzung temporärer Tablespaces mithilfe von mysql.rds_execute_operation angegeben:
Führen Sie die folgende Abfrage aus, um die aktuelle Größe des temporären Tablespace zu überprüfen:
SELECT FILE_SIZE FROM information_schema.innodb_sys_tablespaces WHERE name LIKE 'innodb_temporary'; +------------+ | FILE_SIZE | +------------+ | 6723469312 | -- 6.3 GB +------------+
Durch Löschen temporärer Tabellen wird die Speichernutzung im globalen Tablespace nicht reduziert. Um die Größe des globalen Tablespace zu reduzieren, führen Sie den Befehl mysql.rds_execute_operation zum Verkleinern des temporären Tablespace aus.
CALLmysql.rds_execute_operation('innodb_truncate_temporary_tablespace_now');Query OK, 2 rows affected (0.004 sec)
Überprüfen Sie nach dem Verfahren, ob der Speicherplatz zurückgewonnen wurde.
SELECT FILE_SIZE FROM information_schema.innodb_sys_tablespaces WHERE name LIKE 'innodb_temporary'; +-----------+ | FILE_SIZE | +-----------+ | 12582912 | -- 12 MB +-----------+
Anmerkung
Der Verkleinerungsvorgang kann je nach Größe des temporären Tablespace und aktuellem Workload einige Zeit in Anspruch nehmen.
Wichtig
Der temporäre Tablespace wird nur verkleinert, wenn alle temporären Tabellen, durch die die Größe zugenommen hat, nicht mehr verwendet werden. Es wird empfohlen, dieses Verfahren auszuführen, wenn auf der Instance keine aktiven temporären Tablespaces vorhanden sind.