对我来说,解决方案是导出“到 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,...);
row_format=tokudb_lzma
ps:用或)尝试创建表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 并且非常开心。
希望这可以在实验时对其他人有所帮助。对于原始提问者来说显然已经很晚了。唯一现有的回应对我来说根本没有建设性。(问题是)