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中文網其他相關文章!