对我来说解决方案是导出“到outfile”并导入“load data infile”
这对我来说快了几个数量级(1.1 亿条记录)。每次我修改大型 tokudb 数据库(更改表)时,都需要很长时间(~30k/sec)。
完全导出和导入速度更快(~500k/sec)
将更改表时间从几小时缩短到几分钟。
从 innodb 转换或更改本机 tokudb(任何更改表)时都是如此。
select a.*,calcfields from table1 a into outfile 'temp.txt';
create table table2 .....<br>
load data infile 'temp.txt' into table table2 (field1,field2,...);
ps:用row_format=tokudb_lzma 或tokudb_uncompressed 尝试创建表)。您可以快速尝试 3 种方法(您需要执行操作系统级别的目录 ls 来查看大小)。我发现离线索引也有帮助。
set tokudb_create_index_online=off;
create clustering index field1 on table2(field1); (much faster)
当您了解何时使用多个集群索引时,它们会大有不同。
我正在使用 GUI 工具来更改表以更改索引(每次等待数小时)
手工操作让事情变得更有效率(我花了几天时间通过 GUI 无处可去,在 30 分钟内完成)
使用 5.5.30-tokudb-7.0.1-MariaDB 并且非常开心。
希望这可以在实验时对其他人有所帮助。对于原始提问者来说显然已经很晚了。
唯一现有的回应对我来说根本没有建设性。 (问题是)