gpt4 book ai didi

c# - OracleBulkCopy 性能

转载 作者:太空狗 更新时间:2023-10-29 23:34:10 26 4
gpt4 key购买 nike

我的 C# .NET 应用使用 OracleBulkCopy 将数百万条记录写入临时表。每次应用程序在内存中有 20000 条或更多记录时,它都会调用 OracleBulkCopy 将所有记录写入一个批处理(我使用的批处理大小 = 0)。一开始表是空的,只需要 2 秒就可以写入整个批处理。在此过程中,写入批处理的时间会增加。在 2.000.000 条记录之后,每次通话大约需要 25 秒。我正在使用 OracleBulkCopy 的默认选项。当表达到 40.000.000 时进行一些测试,写入 20.000 条记录需要将近 3 分钟。

我想知道是否有任何建议(我找不到任何相关信息)以保持每次通话的时间几乎恒定。我做错了什么吗?

最佳答案

看起来很奇怪。您是否跟踪了执行插入操作的数据库 session 以查看它正在等待什么?

ALTER SESSION SET timed_statistics=TRUE;
ALTER SESSION SET max_dump_file_size=UNLIMITED;
ALTER SESSION SET EVENTS '10046 trace name context forever, level 8';

100 次中有 99 次,跟踪结果会指出这些奇怪的减速情况下的问题。

关于c# - OracleBulkCopy 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6552403/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com