3 重复导入数据对性能为什么会有这么大的影响

我的建表方式:createPartitionedTable(dbHandle=db, table=tbTemp, tableName=tbName, partitionColumns=`data_time`ticker, compressMethods={data_time:"delta"}, sortColumns=`ticker`data_time, keepDuplicates=LAST)

设置keepDuplicates=LAST


windows系统,使用社区版数据库导入了一个月的快照数据,数据条数在2亿左右

第一次导入完成后,select count(*) 查询仅用时300ms

相同的数据集,再次导入后,select count(*) 总条数和第一次导入完成后相同,但是运行时间远高于第一次时长。刚完成导入后查询耗时25秒,重启server后查询耗时6秒。


问题:

1、为什么性能会差这么多?是keepDuplicates导致的吗?

2、除了通过keepDuplicates去重数据,还有其他方式能通过loadText / loadTextEx或者类似方式,直接读取csv并去重插入数据库吗?

请先 登录 后评论

最佳答案 2023-11-10 13:34

可以参考 https://gitee.com/dolphindb/Tutorials_CN/blob/master/tsdb_explained.md 8.3 的 QA

以及 4.2 的测试结果,重复写数据,在查询的时候有个去重开销,影响较大

请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,855 浏览
  • gao 提出于 2023-11-09 14:00

相似问题