You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用.NET向Teradata插入Decimal和CLOB数据为何异常缓慢?

Teradata .NET批量插入中Decimal/CLOB类型导致速度骤降的问题

我使用Teradata .NET提供程序的TdDataAdapter实现批量数据加载,代码如下:

using (TdDataAdapter adapter = new TdDataAdapter())
{
    insertCommand.UpdatedRowSource = UpdateRowSource.None;
    adapter.InsertCommand = insertCommand;
    adapter.UpdateBatchSize = 1000; // 试过多个不同数值
    adapter.Update(dataTable);
}

插入命令会根据待插入数据动态生成,代码能正常运行且数据加载符合预期,但速度极慢。我了解可以使用FastLoad方案,但在.NET环境中实现难度较高。

测试发现,Decimal或CLOB字段会让插入速度下降约30倍,具体测试数据如下:

  • 含20列(1个CLOB、1个Decimal)的1000行CSV文件:37秒
  • 仅含1个Decimal列的1000行CSV文件:14秒
  • 仅含1个CLOB列的1000行CSV文件:28秒
  • 含18列(无CLOB和Decimal)的1000行CSV文件:1秒
  • 含19列(无CLOB)的1000行CSV文件:21秒
  • 含19列(无Decimal)的1000行CSV文件:30秒

注:测试用的最大CLOB仅600字符,测试文件最大仅404K。我清楚可以改用VARCHAR存储文本,但这不是本次测试的重点,我明确需要支持这两种数据类型,而非替换为其他类型。

表字段定义:

DecimalColumn DECIMAL(10,4),
ClobColumn CLOB

我已经尝试添加/移除标识列、索引及主键等操作,问题仍未解决。.NET命令的参数类型为TdType.Decimal和TdType.Clob。

有没有其他开发者遇到过这个问题?

内容的提问来源于stack exchange,提问作者Yndigo Dream

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 22:48:16