Heim >Datenbank >MySQL-Tutorial >Wie konvertiert man MyISAM-Tabellen effizient in InnoDB?

Wie konvertiert man MyISAM-Tabellen effizient in InnoDB?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-04 10:11:34999Durchsuche

How to Efficiently Convert MyISAM Tables to InnoDB?

Effiziente Transformation von MyISAM-Tabellen in InnoDB

MyISAM ist, obwohl in der Vergangenheit weit verbreitet, in Bezug auf Funktionen und Leistung hinter InnoDB zurückgefallen . Aus diesem Grund kann es wünschenswert sein, Ihre MyISAM-Tabellen in InnoDB zu konvertieren. Während Sie jede Tabelle einzeln manuell ändern können, gibt es für Massenkonvertierungen einen effizienteren Ansatz.

Abfrage zur Identifizierung von MyISAM-Tabellen

Beginnen Sie mit der Identifizierung aller MyISAM-Tabellen in Ihrer Datenbank . Führen Sie die folgende SQL-Anweisung aus:

SET @DATABASE_NAME = 'name_of_your_db';

SELECT CONCAT('ALTER TABLE `', table_name, '` ENGINE=InnoDB;') AS sql_statements
FROM information_schema.tables AS tb
WHERE table_schema = @DATABASE_NAME
AND `ENGINE` = 'MyISAM'
AND `TABLE_TYPE` = 'BASE TABLE'
ORDER BY table_name DESC;

Konvertieren von Tabellen in InnoDB

Sobald Sie die Liste der Tabellen haben, die konvertiert werden müssen, kopieren Sie die Ausgabe aus dem SQL Abfrage und fügen Sie sie in eine neue SQL-Anweisung ein. Führen Sie diese neue Anweisung aus, um die Konvertierungen auszuführen:

<Copy-pasted SQL query>

Dadurch werden alle MyISAM-Tabellen in Ihrer Datenbank effizient in InnoDB konvertiert. Bitte beachten Sie, dass Tabellen, die bereits InnoDB sind, von diesem Konvertierungsprozess nicht betroffen sind.

Das obige ist der detaillierte Inhalt vonWie konvertiert man MyISAM-Tabellen effizient in InnoDB?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn