我在自己的计算机(Win10)上有一个相当大的 MySQL 表(~600G),结构如下。
id var1 var2 var3
a val1 1 5
b val1 2 6
c var2 3 7
d var2 4 8
两者id
都var1
被索引。我想根据 var1 的值将该表拆分为几个子表。那是,
对于表table_var1
:
id var1 var2 var3
a val1 1 5
b val1 2 6
对于表'table_var2':
id var1 var2 var3
c val2 3 7
d val2 4 8
我使用了以下代码
CREATE TABLE table_var1 LIKE original_table;
INSERT INTO table_var1 SELECT * FROM original_table where var1=val1;
CREATE TABLE table_var2 LIKE original_table;
INSERT INTO table_var2 SELECT * FROM original_table where var1=val2;
我的问题与此非常相似。我想加快拆分表的速度,但是由于数据库在我自己的计算机上,如果我没记错的话,partition
并没有真正的帮助(当有多个物理硬盘可用时,这更有帮助?)。
有什么提高分表性能的建议吗?