我在 Windows 10 上使用 MySQL 和 mysqldump v8.0.19。我有一个 InnoDB 数据库,old. 我使用 mysqldump (和--no-create-db选项)来转储其表。然后,我创建一个新数据库,new并使用以下命令导入转储的表
mysql -u myName -p new < old.sql
Run Code Online (Sandbox Code Playgroud)
这个过程似乎是有效的,因为old和中的表new似乎具有完全相同的数据和完全相同的键。CHECK TABLE显示 中的表没有问题new,并且像这样的命令SELECT * FROM old.table1 UNION SELECT * FROM new.table1显示新旧表之间没有差异。
但尽管如此,新桌子还是更小。具体来说,此命令显示它们在data_length和中都较小index_length:
SELECT concat( table_schema, '.', table_name ) table_name,
concat( round( data_length / ( 1024 *1024 ) , 2 ) , 'M' ) data_length,
concat( round( index_length / ( 1024 …Run Code Online (Sandbox Code Playgroud)