Mysql
Innodb 每個表空間一個文件
我正在走進一個使用 MySQL 和 Innodb 作為儲存引擎的環境。我想啟用 innodb_file_per_table 來提高性能。考慮到所有數據庫/表目前都儲存在 ibdata1/default ibdata 文件中,innodb_file_per_table 選項是否只會影響我設置此指令後創建的新表?
採用現有數據庫並將每個表拆分為自己的 ibd 文件的最佳方法是什麼?我是否必須轉儲/恢復所有表才能做到這一點?
http://dev.mysql.com/doc/refman/5.0/en/innodb-multiple-tablespaces.html :
The --innodb_file_per_table option affects only table creation, not access to existing tables. If you start the server with this option, new tables are created using .ibd files, but you can still access tables that exist in the shared tablespace. If you start the server without this option, new tables are created in the shared tablespace, but you can still access any tables that were created using multiple tablespaces.
是的,需要轉儲和恢復才能將現有表移動到它們自己的文件中。