ホームページ >データベース >mysql チュートリアル >MyISAM テーブルを InnoDB に効率的に変換するにはどうすればよいですか?

MyISAM テーブルを InnoDB に効率的に変換するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-04 10:11:34992ブラウズ

How to Efficiently Convert MyISAM Tables to InnoDB?

MyISAM テーブルの InnoDB への効率的な変換

MyISAM は過去に広く使用されていましたが、機能とパフォーマンスの点で InnoDB に遅れをとっています。このため、MyISAM テーブルを InnoDB に変換することが望ましい場合があります。各テーブルを個別に手動で変更することもできますが、一括変換にはより効率的なアプローチが存在します。

MyISAM テーブルを識別するクエリ

データベース内のすべての MyISAM テーブルを識別することから始めます。 。次の SQL ステートメントを実行します。

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;

テーブルを InnoDB に変換する

変換する必要があるテーブルのリストを取得したら、SQL からの出力をコピーします。クエリを作成し、新しい SQL ステートメントに貼り付けます。この新しいステートメントを実行して変換を実行します:

<Copy-pasted SQL query>

これにより、データベース内のすべての MyISAM テーブルが効率的に InnoDB に変換されます。すでに InnoDB であるテーブルは、この変換プロセスの影響を受けないことに注意してください。

以上がMyISAM テーブルを InnoDB に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。