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 サイトの他の関連記事を参照してください。