问题标签 [bulk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
12 回答
2683 浏览

sql-server-2005 - 如何将慢速参数化插入更改为快速批量复制(甚至从内存中)

我的代码中有这样的东西(.Net 2.0,MS SQL)

使用cmdInsert.ExecuteNonQuery()注释掉此代码将在 2 秒内执行。使用 SQL 执行需要 1m 20 秒。大约有 50 万条记录。表之前是空的。类似功能的 SSIS 数据流任务大约需要 20 秒。

  • 批量插入不是一种选择(见下文)。我在这次导入期间做了一些花哨的事情。
  • 我的测试机器是带有 2 GB RAM 的 Core 2 Duo。
  • 在任务管理器中查看 CPU 时未完全处理。IO 似乎也没有被充分利用。
  • Schema 简单得像地狱:一张以 AutoInt 作为主索引且少于 10 个整数、小整数和字符(10)的表。

在这里得到一些答案后,我发现可以从内存中执行批量复制!我拒绝使用批量复制,因为我认为必须从文件中完成...

现在我使用它,它需要大约 20 秒(如 SSIS 任务)

0 投票
6 回答
13412 浏览

email - 避免被网络邮件公司阻止以进行大量/批量电子邮件?

我们公司每天发送大量电子邮件,并计划在未来发送更多。(千)也时不时地有成千上万的群发邮件。

任何人都有使用hotmail、yahoo(web.de、gmx.net)和类似的网络邮件公司阻止您的电子邮件的经验,因为“一段时间内来自同一来源的太多”已发送给他们?

可以做些什么呢?在一整天/一夜之间传播电子邮件?以什么速度?

(我们正在谈论法律电子邮件只是为了确保......)

0 投票
6 回答
4336 浏览

perl - 有没有一种简单的方法来进行批量文件文本替换?

我一直在尝试编写一个 Perl 脚本来替换我项目的所有源文件中的一些文本。我需要类似的东西:

但这会递归地解析目录的所有文件。

我刚刚开始了一个脚本:

但现在我被困住了。有没有一种简单的方法可以使用 Perl 编辑所有文件?

请注意,我不需要保留每个修改文件的副本;我把他们都颠覆了=)

更新:我在Cygwin上试过这个,

但看起来我的参数列表已爆炸到允许的最大大小。事实上,我在 Cygwin 上遇到了非常奇怪的错误......

0 投票
2 回答
277 浏览

sql - 表格内容的批量翻译

我目前正在从旧数据库执行迁移操作。我需要执行数百万原始行的迁移,将原始内容分成多个目标父/子行。

由于这不是简单的一对一迁移,并且结果行是基于身份生成密钥的父/子行,执行迁移的最佳机制是什么?

我假设我不能使用批量插入,因为在生成脚本内容时无法确定子行的标识值?我目前能想到的唯一解决方案是明确设置身份,然后为导入有一个预定的起点。

如果其他人有任何意见,我将不胜感激。

0 投票
1 回答
691 浏览

automated-tests - 如何将多个测试对象从测试对象映射添加到脚本

测试我必须自动化:在一个应用程序中我必须创建 1000 个对象。然后我必须去每个对象,我必须投入一些价值。

我使用脚本创建了一个对象,然后转到该对象并设置值。

现在在对象创建步骤中,我放置了一个 for 循环,它创建了 1000 个不同名称的对象。

现在使用 RFT 的“添加对象以测试地图对象”向导,我将所有这些对象添加到测试对象地图中。

现在我想将所有这些对象从测试对象映射添加到我的脚本中。使用 RFT 工具,我可以一一添加,这很耗时。我想要一种方法,通过它我可以从测试对象映射中选择所有这些对象并添加到脚本中。

如果您知道,请为我提供解决方案。为此,我会很感谢你。

0 投票
3 回答
5753 浏览

.net - 构建批量邮件发件人

我想构建一个应用程序,允许我的客户通过电子邮件发送营销信息。这将是一个经过仔细监控的工具,仅用于合法的批量邮寄。它将具有所有必要的“取消订阅”功能等。

该解决方案将使用 VB.NET 构建。

我的问题与实际发送电子邮件的最佳方式有关。我们的数据中心有一个可以使用的 SMTP 服务器。我想我们可以编写某种多线程 Windows 服务来监视要发送的电子邮件数据库,然后调用 System.Net.Mail API 以通过该服务器发送。

这是否会给我在合理的时间范围内向数千名用户发送邮件所需的性能水平?

如果不是,我是否应该考虑在“较低级别”做事,在一个线程中执行 DNS 查找,在另一个线程中的端口 25 上直接发送到相关服务器,等等?

任何指针将不胜感激!


不是一个真正的答案 - 但对于任何感兴趣的人来说都是一个更新......我目前正在查看ActiveUp的一个名为 ActiveMail 的产品。

这似乎是一个 MTA(执行它自己的 MX 查找并直接发送邮件),它带有一个多线程队列应用程序。

0 投票
6 回答
3511 浏览

c# - 在 C# 中使用自定义分隔符和一些非常非常大的字段值解析文本的最快方法是什么?

我一直在尝试处理一些具有非标准分隔符(不是逗号/引号或制表符分隔)的分隔文本文件。定界符是不经常出现在定界符之间的随机 ASCII 字符。在四处搜索之后,我似乎只发现 .NET 中没有任何解决方案可以满足我的需求,人们为此编写的自定义库在涉及巨大输入时似乎存在一些缺陷(4GB 文件,其中一些字段值具有很容易有几百万个字符)。

虽然这似乎有点极端,但它实际上是电子文档发现 (EDD) 行业的标准,某些审阅软件具有包含文档全部内容的字段值。作为参考,我之前在 python 中使用 csv 模块完成了这项工作,没有任何问题。

这是一个示例输入:

编辑:所以我从头开始创建了一个分隔文件解析器。我有点厌倦使用这个解决方案,因为它可能容易出现错误。为这样的任务编写自己的解析器也不会让人觉得“优雅”或正确。我也有一种感觉,我可能不必为此从头开始编写解析器。

0 投票
12 回答
57851 浏览

c++ - 在 sqlite3 中更快的批量插入?

我有一个包含大约 30000 行数据的文件,我想将它们加载到 sqlite3 数据库中。有没有比为每行数据生成插入语句更快的方法?

数据以空格分隔并直接映射到 sqlite3 表。是否有任何类型的批量插入方法可以将卷数据添加到数据库?

如果不是内置的,有没有人设计了一些非常棒的方法来做到这一点?

我应该先问一下,是否有 C++ 方法可以从 API 中做到这一点?

0 投票
5 回答
11802 浏览

sql-server - MS SQL Server - 通过网络批量插入

我有一个使用 MS SQL Server 的应用程序,我需要从文件中进行批量插入。症结在于数据库和我的应用程序将托管在不同的服务器上。通过网络进行批量插入的最佳方法是什么?到目前为止,我提出了两个想法:

  1. 从应用服务器共享数据库服务器可以找到的目录,并使用远程文件中的批量插入语句进行导入

  2. 从 db 服务器运行 FTP 服务器 - 执行导入时,只需将文件 ftp 到 db 服务器并使用本地文件的批量插入进行导入(我倾向于此选项)。

谁能告诉我是否有更好的方法来做到这一点,或者如果没有,哪一个最有意义,为什么?

0 投票
3 回答
3314 浏览

c# - 从 .NET SqlCommand 调用时,SQL Server 批量插入失败

我有一个在 SQL Server 2005 数据库上进行批量插入的存储过程。当我从一些 SQL 调用这个存储过程(传入本地格式文件和数据文件的名称)时,它工作正常。每次。

但是,当使用 C# .NET 3.5 代码调用相同的存储过程时,SqlCommand.ExecuteNonQuery它会间歇性地工作。

当它失败时,SqlException会生成一个说明:

无法批量加载。格式文件“c:\bulkinsert\MyFile.fmt”中的列号无效

我认为此错误消息不正确。

有没有人在从代码中调用批量插入时遇到过类似的问题?

谢谢。