所以我有一个巨大的更新,我必须将大约 40gb 的数据插入到一个 innodb 表中。它需要很长时间,所以我想知道哪种方法最快(更重要的是为什么,因为我可以做一个拆分测试)。
方法1)
a) 插入所有行 b) 创建 ALTER TABLE su_tmp_matches ADD PRIMARY KEY ( id )
方法2)
a) ALTER TABLE su_tmp_matches ADD PRIMARY KEY (id) b) 插入所有行
目前我们正在使用方法 1,但步骤 b) 似乎需要大量时间。所以我想知道这里的大小是否有任何含义(40gb - 500 万行)。
---- 所以我决定也对此进行测试 --- 非常快的全新 mysql 服务器 - 加载和加载 ram,以及快速 ram,快速磁盘,并且非常调整(我们每秒有超过 5000 个请求一件):
1,6 mio 行/6gb 数据:
81 秒“删除”主索引
“添加”主索引需要 550 秒(添加数据后)
120秒用主索引创建表的副本 create BEFORE data insert
创建没有主索引的表副本需要 80 秒(之后创建需要 550 秒)
似乎很荒谬 - 问题是,如果索引是同一件事。