云数据库 MySQL TXRocks 实践教程

这篇说说使用TXRocks导入大量数据时提升速度的两种方法:先删二级索引再bulk load导入后重建,以及关闭unique_check,并给出参数调整建议与注意事项。 方法一:先删除二级索引,调整rocksdb_merge_buf_size等参数,用bulk load方式导入,最后重建索引。 方法二:导入数据时关闭unique_checks,完成后务必重新开启以保证唯一性检查。

相关产品
云数据库 MySQL 产品页,含版本规格、价格与购买入口。

这里说明使用 TXRocks 的实践教程 – 大量数据导入如何提升导入速度。

一、背景

·场景:将大量数据导入 TXRocks 引擎的数据库中,需对导入速度进行提升。

·影响:导入海量数据时,有可能出现 Rows inserted during bulk load must not overlap existing rows 错误。

二、处理方法1

1. 先删除二级索引(只保留主键索引)。

2. 根据规格和用户数据量调整内存相关参数。

注意:说明:

注意:需要根据规格和数据量,对参数 rocksdb_merge_buf_size 和 rocksdb_merge_combine_read_size 适当调大。

·rocksdb_merge_buf_size 表示建索引过程中多路归并时每路数据量,rocksdb_merge_combine_read_size 表示多路归并时,各路占用总内存。

·rocksdb_block_cache_size 表示 rocksdb_block_cache 大小,在多路归并时,建议临时调小。

3. bulk load 方式导数据。

SET session rocksdb_bulk_load_allow_unsorted=1;SET session rocksdb_bulk_load=1;…导入数据…SET session rocksdb_bulk_load=0;SET session rocksdb_bulk_load_allow_unsorted=0;

注意:说明:

注意:如果导入的数据本身有序,则不需要设置 rocksdb_bulk_load_allow_unsorted。

4. 重建二级索引,可以在全部数据导入完成后,逐个重建二级索引。

三、处理方法2

导入数据过程中,关闭 unique_check,可以提升导入性能。

SET unique_checks=OFF;…导入数据…SET unique_checks=ON;

注意:处理完成后,务必将 unique_checks 改回 ON,否则后续正常事务写入的 insert 操作不会进行唯一性检查。

赞 (0)
上一篇 4天前
下一篇 4天前