问题标签 [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 投票
1 回答
406 浏览

db2 - 立即更新表或稍后在数据库中“批量”更新?这是可取的吗?

我有一个关于数据库中的半恒定更新的问题。简而言之,它是关于网页上的结帐功能,每次调用结帐功能时都会执行五个步骤。

我想尝试优化此功能,并关注每次执行结帐时更新表格的步骤。我获取从购物车中检索到的信息,然后更新相关表格。

我确实有一些索引,从中获得的收益大于离开它们,所以这是我愿意承担的成本。

现在,我的问题是。以某种方式关于性能是否会更好,不要立即更新表格,而是收集每个结帐项目并以某种方式(可能在文件中)保存它们,然后在一天的特定时间(或几次)获取这个文件和然后用新信息更新表。

然后我开始考虑是否有可能使用某种批量更新来获取文件、哈希图、数组(或?)然后更新它。

我正在使用 IBM DB2 9.7 版

梅斯蒂卡

0 投票
2 回答
1188 浏览

sql - 如何使用 HQL 查询更改列长度?

我试过了session.createSQLQuery("ALTER TABLE People MODIFY address VARCHAR(1000);").executeUpdate();

但这会抛出org.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query

经过大量的谷歌搜索,建议使用 HQL 而不是 SQL 查询来进行批量更新。不知道如何使用 HQL 来实现这一点。似乎没有像样的 HQL 文档来更新表中的列长度。

非常感谢帮忙。

0 投票
6 回答
2389 浏览

php - 使用 PHP 发送批量电子邮件

当新用户加入时,我必须向站点中的所有用户发送邮件。我的问题是脚本在发送大约 400 封邮件后停止执行。我已将 set_time_limit 设置为 0。而且我在发送 10 封邮件后给予 sleep(2)。

这个问题背后的原因可能是什么。这个问题的任何解决方案。有没有更好的方法来发送批量电子邮件?

提前致谢

玫瑰

0 投票
1 回答
3264 浏览

asp.net - 如何从asp.net一次将批量数据插入mysql表

我有一个要求,我需要使用 asp.net/C# 读取一个 excel 表并将所有记录插入到 mysql 表中。该 excel 表由大约 2000 行和 50 列组成。目前,在读取 excel 记录后,我正在使用准备语句将记录一一插入到 mysql 表中。但是由于数据量巨大,这样做需要大约 70 秒。

我也想过创建一个新的数据行,为每个单元格分配值,将生成的数据行添加到数据表中,最后调用 dataadapter.update(...)。但这似乎很复杂,因为我有大约 50 列,因此我'必须为数据行分配 50 个值。

有人可以建议是否有替代方法来提高插入的性能?

谢谢

0 投票
4 回答
981 浏览

sql-server-2005 - SQL Server 2005 中的死锁!两个实时批量更新正在战斗。为什么?

替代文字

这是场景:

我有一个名为 MarketDataCurrent (MDC) 的表,它可以实时更新股票价格。

我有一个名为“LiveFeed”的进程,它从网络中读取价格流,对插入进行排队,并使用“批量上传到临时表然后插入/更新到 MDC 表”。(批量更新)

我有另一个进程读取这些数据,计算其他数据,然后使用类似的 BulkUpsert 存储过程将结果保存回同一个表中。

第三,有大量用户运行 C# Gui 轮询 MDC 表并从中读取更新。

现在,在数据快速变化的那一天,事情运行得相当顺利,但是,在市场交易时间之后,我们最近开始看到数据库中出现越来越多的死锁异常,现在我们每天看到 10-20 个. 这里要注意的重要一点是,这些发生在值不变的情况下。

以下是所有相关信息:

表定义:

-

替代文字

我有一个正在运行的 Sql Profiler Trace,正在捕获死锁,这就是所有图表的样子。

替代文字

进程 258 被称为以下“BulkUpsert”存储过程,重复,而 73 正在调用下一个:

还有一个:

澄清一下,这些临时表是由同一连接上的 C# 代码创建的,并使用 C# SqlBulkCopy 类填充。

对我来说,它看起来像是在桌子的 PK 上死锁,所以我尝试删除那个 PK 并改用唯一约束,但这使死锁的数量增加了 10 倍。

我完全不知道如何处理这种情况,并且对任何建议都持开放态度。

帮助!!


响应对 XDL 的请求,这里是:

0 投票
1 回答
384 浏览

silverlight - 集合中的对象到对象属性映射

我正在创建(动态生成的类型)集合以在silverlight 网格中显示,其中一个过程涉及创建导入(动态生成的类型)类型,然后将导入类型上的属性映射到(动态生成的类型)这两种类型的集合共享一个标识项目的 Id 属性(无论是在网格上还是在导入中)

即类型绑定到网格

并导入类型

ids 匹配的地方我想复制 foos.

在集合中将属性从一种类型映射到另一种类型的快速方法是什么?

编辑

多亏了 Stephan,这是最终的 Typemapper 实现,因为一个功能只会在 keymembers 相等时映射两种类型,通过表示成员名称的字典字符串定义的映射,在 silverlight 中工作

0 投票
4 回答
2461 浏览

email - 如何以良好的成功率发送批量电子邮件?

在发送批量电子邮件时,有许多关于指南的文章和主题。大多数时候都提到应该将电子邮件发送给订阅用户。这样我们就可以避免“用户点击邮箱中的垃圾邮件”。

在著名的社交网站中有一些功能,我们可以向 Yahoo 联系人列表发送邀请。在这种情况下,我们联系人列表中的人实际上并没有订阅 Linkedin 以获取邀请或其他邮件。但难以理解的是,Linkedin 和 Facebook 邮件如何不会成为垃圾邮件?

0 投票
2 回答
194 浏览

publish-subscribe - 使用发布/订阅模型发送批量消息

我们正在尝试实现一个通知模块。它允许网站内部用户相互发送消息。一个关键特性是它允许业务用户向用户发送批量消息。我们在这里谈论的是数百万用户。

目前计划为发布/订阅模型。一旦登录,系统将从数据库表中检索用户的相关消息。当每个用户都被允许删除和回复他/她收到的消息时,逻辑变得越来越复杂。

Pubsubhub 似乎是更多的服务器到服务器。对于这种情况,XMPP 似乎太复杂了。

我错过了什么?我可以让它更简单吗?任何现有的图书馆可以建立?我愿意接受任何建议。

0 投票
1 回答
3535 浏览

sql - BCP 实用程序创建格式文件,将 Excel 数据导入 SQL Server 2008 以进行批量插入

我正在尝试将 Excel 2003 数据导入 SQL Server 2008 的 SQL 表。

尝试添加链接服务器,但收效甚微。

现在我正在尝试检查是否有办法使用 BCP 实用程序通过 OPENROWSET 执行 BULK 插入或 BULK 操作,使用格式文件来获取 Excel 映射。

首先,如何为表格创建格式文件,该文件具有与 Excel 电子表格列不同的命名列?接下来,如何使用此格式文件将数据从位于 C:\Folder1\Excel1.xsl 的文件中导入表 Table1 ?

谢谢你。

0 投票
1 回答
2121 浏览

sql-server - 强制添加/删除链接服务器和正确的语法以将数据从 Excel 导入表

我正在尝试在 Sql server 2008 R2 中创建链接服务器,只是尝试从 Microsoft 下载“64 位版本的 Office 2010 Access AD Engine”exe。

不幸的是,在进行此安装之前,我曾尝试添加链接服务器,但失败了:

(如果您有其他方法,请告诉我这种添加方式是否不正确!)

进行下载后,它给出了该服务器已经存在的消息: “服务器'LinkedServer1'仍有远程登录或链接登录。”

尝试在下载后以相同的方式添加“LinkedServer2”(使用 Excel5.0 作为参数而不是 Excel8.0)。有用!然而,这个旧的链接服务器似乎仍然存在,尽管我已经尝试删除它:

为了确保它确实存在,我写了这个:

以及详细的属性:

如果您发现我做错了什么,请告诉我!我尝试删除“LinkedServer2”,它有效!但是,即使我试图像这样删除相同的链接 server1:

我失败了,同样的信息! “服务器‘LinkedServer1’仍有远程登录或链接登录。”

尝试使用提供程序字符串作为“Excel 5.0”添加链接服务器,并成功添加和删除。


另一个更新: 这又失败了: EXEC(' INSERT INTO Table1 SELECT col1, excel2col, excel3col, Replace(Replace(excel4col, ''"'', '''') FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0 '',''Excel 5.0;HDR=Yes;Database='+'D:\Folder\Excel1.xls'', [Sheet2$])')

错误:OLE DB 提供程序“Microsoft.Jet.OLEDB.4.0”不能用于分布式查询,因为提供程序配置为在单线程单元模式下运行。我已将配置更改为: