Php MYSQL中的大表副本的权重是原始表的3倍

Php MYSQL中的大表副本的权重是原始表的3倍,php,mysql,innodb,Php,Mysql,Innodb,从[Table1](原始表)创建副本后,我注意到新表[Table2]比原始表大得多。请参见下面的屏幕截图和结构: CREATE TABLE 'Table1' 'A' int(11) NOT NULL AUTO_INCREMENT, 'B' int(6) NOT NULL, 'C' varchar(32) DEFAULT NULL, 'D' text, 'E' varchar(15) DEFAULT NULL, 'F'set('UNKNOWN','ZZZ','YYY','XXX','

从[Table1](原始表)创建副本后,我注意到新表[Table2]比原始表大得多。请参见下面的屏幕截图和结构:

CREATE TABLE 'Table1'
 'A' int(11) NOT NULL AUTO_INCREMENT, 
 'B' int(6) NOT NULL,
 'C' varchar(32) DEFAULT NULL,
 'D' text,
 'E' varchar(15) DEFAULT NULL,
 'F'set('UNKNOWN','ZZZ','YYY','XXX','WWW','VVV','UUU','TTT','SSS','RRR') NOT NULL,
 'G' date NOT NULL,
 'H' date DEFAULT NULL,
 'sent_F' date DEFAULT NULL,
 PRIMARY KEY ('A'),
 UNIQUE KEY 'unique_C' ('C','G'),
 KEY 'B' ('B'),
 KEY 'F' ('F'),
 KEY 'G' ('G'),
 KEY 'sent_F' ('sent_F'),
 KEY 'H' ('H'),
 KEY 'C' ('C')
) ENGINE=InnoDB AUTO_INCREMENT=31251953 DEFAULT CHARSET=latin1

我执行复制的方式[表1]:

两个表都包含相同的数据,并且在这两种情况下配置了相同的规则


谁能解释一下为什么复制的表比原来的表大得多?这会引起轰动吗?2GB到6GB?

可能是重建索引时使用的临时数据,或者类似的数据。试着在最后运行一个
优化表
,看看之后会得到什么。你是否尝试过转储该表并还原它?你能给我们描述一下这些专栏吗?谢谢大家!我将尝试您建议的一切,并返回结果:)SHOW CREATE TABLE[Table2]是否与
[Table1]
相同(尽管创建过程不同)?@StockOverlaw-我在图像中看到了这两种格式的“Compact”。
CREATE TABLE 'Table2'
 'A' int(11) NOT NULL AUTO_INCREMENT, 
 'B' int(6) NOT NULL,
 'C' varchar(32) DEFAULT NULL,
 'D' text,
 'E' varchar(15) DEFAULT NULL,
 'F'set('UNKNOWN','ZZZ','YYY','XXX','WWW','VVV','UUU','TTT','SSS','RRR') NOT NULL,
 'G' date NOT NULL,
 'H' date DEFAULT NULL,
 'sent_F' date DEFAULT NULL,
 PRIMARY KEY ('A'),
 UNIQUE KEY 'unique_C' ('C','G'),
 KEY 'B' ('B'),
 KEY 'F' ('F'),
 KEY 'G' ('G'),
 KEY 'sent_F' ('sent_F'),
 KEY 'H' ('H'),
 KEY 'C' ('C')
) ENGINE=InnoDB AUTO_INCREMENT=31171617 DEFAULT CHARSET=latin1 ROW_FORMAT=COMPACT
Create [Table2] like [Table1];
Alter table [Table2] disable keys;
Insert into [Table2] select * from [Table1];
Alter table [Table2] enable keys;