v7.5.2 关于import into 性能的疑问

【 TiDB 使用环境】生产环境
【 TiDB 版本】7.5.2
集群有很多的数据导表操作,开始是使用insert into …select ,觉得性能不行,看这个文章测评https://asktug.com/t/topic/1021447, 开始测试import info。结果不太理想,和 insert into… select 时间差不多,是我参数配置的问题吗
三次操作都是同一台tidb实例
配置如下:


慢查询如图

开启tidb_enable_dist_task,结果效率没有显著变化

tidb的cpu
image

速度快,还是要批量吧 insert into tb(c1,c2…) values(),(),()这种吧

csv文件吗?直接用lightning怎么样?


看你只用了一个CSV,这种情况下只会有一个线程导入的,可以加这个参数试下。 详细参数可以见: https://docs.pingcap.com/zh/tidb/stable/sql-statement-import-into#withoptions

1 个赞

你要用tidb_enable_dist_task开开启分布式执行框架。

tidb_service_scope也要设置对。不然也是只有一个tidb在做,和原来就没什么区别。

https://docs.pingcap.com/zh/tidb/stable/tidb-distributed-execution-framework#任务调度

这种导入读取csv文件或者读取sql写入另一个表的操作,性能都不太高,如果数据量小的话还可以,大的话建议使用br工具导出sst文件,这种效率明显好很多

所以还是要S3,分布式的存储才能发挥作用,单机的话和别的方式没区别

import into 走的是 lightning local 模式,正常来说应该快很多的,就相当于你用 lightning 导数据了,我还没用过,没测试过,跟你学习下

目前还没用过。

更你学习一下

你集群配置如何?感觉你V7.5版本的import into导入速度和我们V6.5的Lightning的tidb模式逻辑导入速度差不多,按道理不应该呀。

问了是方法问题 本地导入非常快

import是8.1特性

实测lightning在v6.5并发装数不同表时,会有BUG。

没试过这个方法,过来学习下

学习了