问题标签 [bulkinsert]

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 投票
4 回答
11482 浏览

c# - SqlBulkCopy.BulkCopyTimeout 属性

我正在使用 VSTS 2008 + C# + .Net 3.5 + ADO.Net 开发一个控制台应用程序来进行批量插入复制。

我想同时使用批量插入批处理和批量插入超时属性。对于 BulkCopyTimeout 属性,我很困惑,想知道它是适用于整个批量还是仅适用于每批批量?

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.bulkcopytimeout.aspx

提前谢谢,乔治

0 投票
3 回答
10098 浏览

ado.net - 如何使用 ado.net 3.5 批量插入现有数据库表

我在数据库中有一个已经有 100 条记录的表。现在我必须再插入 100 条记录。现在我们必须使用哪个对象?无论是dataadapter还是sqlbulkcopy?

0 投票
1 回答
6712 浏览

sql-server - 将带有换行符的 CSV 批量插入 SQL Server

我有一个看起来像这样的 csv:

是否可以将其直接导入 SQL Server?

0 投票
1 回答
825 浏览

sql - 如何使用 SubSonic 批量插入?

我有一些看起来像这样的东西

那是对数据库的太多插入。我可以做类似的事情吗?

谢谢。

0 投票
4 回答
19596 浏览

sql - MySql 批量加载命令行工具

MySql 是否有批量加载命令行工具,例如用于 SQLServer 的 bcp 和用于 Oracle 的 sqlldr?我知道有一个 SQL 命令LOAD INFILE或类似命令,但有时我需要将不同盒子上的文件批量加载到 MySQL 数据库。

0 投票
2 回答
9697 浏览

sql - 批量插入带有回车符的文本字段的文件(Enters)

我在批量插入包含数据类型文本字段的文件时遇到问题,它包含输入,字段的分隔符是管道“|” 并且行终止符是“|\n”

我收到文本字段旁边的字段截断错误。我认为批量插入认为第二个字段中的输入是下一行。

这是数据示例

表架构是:

如您所见(好吧,看不到),有输入(用 CR 标记)并且批量插入将它们与新行混淆。

任何帮助将不胜感激。

谢谢

0 投票
2 回答
4117 浏览

mysql - 索引不适合 key_buffer 时的快速 MySQL 批量加载

这里有一个关于如何正确配置 mysql (myisam) 以便快速执行批量插入(加载数据文件)的问题。

要导入 6 Gb 文本文件,1500 万行,16 列(一些 int,一些 varchar(255),一个 varchar(40),一个 char(1),一些 datetime,一个 mediumtext)。

相对 my.conf 设置:

共有三个索引 - 一个主索引(autincrement int)、一个唯一 int 和一个唯一 varchar(40)。

问题是在执行 load data infile 命令后,前 3 gigs 的数据被快速导入(基于 table.myd 的大小增加 - 5-8 mb/s),但是一旦超过 3020 Mb 就会限制导入速度大大减少 - table.myd 的大小正在增长 0.5mb/s。Key_blocks_unused我注意到,导入过程会在耗尽为零时减慢。这些是mysql> show status like '%key%';导入开始时的输出:

这就是它在 3020Mb 限制之后的样子,即当下key_blocks_unused降到零时,这就是批量插入过程变得非常慢的时候:

问题很清楚,据我了解 - 索引存储在缓存中,但是一旦缓存填满,索引就会被一一写入磁盘,这很慢,因此所有过程都会减慢。如果我禁用基于 varchar(40) 列的唯一索引,因此所有索引都适合Key_blocks_used(我猜这是直接依赖的变量key_buffer,不是吗?),所有批量导入都是成功的。所以,我很好奇,如何让 mysqlKey_blocks_used一次将所有数据放入磁盘,并释放Key_blocks_used?. 我知道它可能会即时进行一些排序,但是我想它应该可以进行一些缓存的 RAM 磁盘同步,以便成功管理索引,即使它们并不完全适合内存缓存. 所以我的问题是“如何配置 mysql 以便批量插入避免在(几乎)每个索引上写入磁盘,即使所有索引都不适合缓存?" 最后一点 - 对于给定的表,delay_key_write 设置为 1,尽管与禁用时相比,它没有增加任何加速。

提前感谢您的任何想法、想法、解释和 RTM!(:

还有一个小问题——在达到 0 之前,我将如何计算有多少 varchar(40) 索引可以放入缓存Key_blocks_unused

PS 禁用索引,$myisamchk --keys-used=0 -rq /path/to/db/tbl_name然后使用 重新启用它们$myisamchk -rq /path/to/db/tbl_name,如Mysql 文档中所述,这是一种已知的解决方案,该解决方案有效,但仅在批量插入空表时才有效。当表中已经有一些数据时,索引唯一性检查是必要的,因此禁用索引不是解决方案。

0 投票
3 回答
6568 浏览

sql - BULK INSERT 如何在内部工作?

有人可以解释一下 BULK INSERT 在内部是如何工作的,为什么它比正常的 INSERT 操作快得多?

问候,希希尔。

0 投票
1 回答
3193 浏览

sql - 数据仓库重复维度行

我们开始使用来自事件日志的数据加载数据仓库。我们有一个普通的星型模式,其中事实表中的一行代表一个事件。我们的维度表是user_agent、ip、referal、page等的典型组合。一个维度表是这样的:

我们自动生成 id 以最终加入事实表。我的问题是:在我们的批量加载过程中识别重复记录的最佳方法是什么?在实际插入持久存储之前,我们将日志文件的所有记录上传到临时表中,但是,id 只是自动递增的,因此两天的两个相同的暗记录将具有不同的 id。创建值列的哈希是否合适,然后尝试对其进行比较?似乎尝试在每个值列上进行比较会很慢。有没有针对这种情况的最佳实践?

0 投票
8 回答
1401 浏览

php - 在 100 个文件中的标记前批量插入代码

我想插入

在大约 100 个 php 文件的结束正文标记之前。不幸的是,制作该网站的人没有制作页眉或页脚模板。

做这个的最好方式是什么?我尝试使用 grep/find 获取文件列表并通过 xargs 将结果传送到 sed,但我没有运气。我可能有正则表达式错误。谁能帮我解决这个问题?

此外,您是否推荐任何适用于 Apple OS X 的图形工具?

谢谢,迈克

编辑

作品。