![]() |
1
11
两周前我也遇到过同样的问题。我写了一些.NET来逐行插入和计算我拥有的数据量,这样做需要大约一周的时间。 因此,我使用了一个字符串生成器来创建一个巨大的查询,并将其一次性发送到我的关系系统。从一周到五分钟。现在我不知道您使用的是什么关系系统,但是对于大量的查询,您可能需要调整您允许的最大数据包参数或类似的参数。 |
![]() |
2
17
如果我不能正确理解您的问题,请原谅,但您似乎只是在试图将大量csv数据导入SQL数据库。是否有任何理由要使用Web应用程序或其他代码将csv数据处理到insert语句中?我已经成功地使用SQL Server Management Studio和大容量插入语句将大量的csv数据导入到SQL Server Express(免费版本)。简单的大容量插入如下所示:
|
![]() |
3
5
第一:33MB是 不 大的。MySQL可以很容易地处理这种大小的数据。 正如您注意到的,逐行插入是缓慢的。在上面使用ORM甚至更慢:有构建对象、序列化等开销。使用ORM跨35个表执行此操作是 更慢 . 不要这样做。
你真的可以用
除此之外,散装
体积
|
![]() |
4
4
以下步骤导致我的
参见文章 here |
![]() |
5
2
我不喜欢其他答案。) 我以前在工作中做过这个。 编写一个程序来创建一个包含insert语句的大型SQL脚本,每行一个。而不是运行脚本。您可以保存脚本以备将来参考(便宜的日志)。使用gzip,它将缩小90%的大小。 您不需要任何花哨的工具,而且使用什么数据库也不重要。 您可以在一个事务中为每个事务或所有事务做几百个插入,这取决于您自己。 Python是一种很好的语言,但我相信PHP也很好。 如果您有性能问题,一些数据库(如Oracle)有一个特殊的批量加载程序,它比INSERT语句更快。 您应该耗尽内存,因为一次只分析一行。你不需要把整件事都记在心里,别这样! |
![]() |
6
2
你可以使用mysql
更多信息: http://dev.mysql.com/doc/refman/5.5/en/load-data.html 和 http://www.mysqltutorial.org/import-csv-file-mysql-table/ |
![]() |
7
1
如果您使用的是SQL Server并且可以访问.NET,那么可以编写一个快速应用程序来使用 SQLBulkCopy 类。我在以前的项目中使用过这种方法,可以很快地将大量数据导入到SQL中。sqlblkcopy类利用了SQL Server的BCP,因此,如果您使用的不是.NET,那么可能需要研究该选项是否也对您开放。不确定是否使用的数据库不是SQL Server。 |
![]() |
8
1
您可以使用生成器来准备内存高效的文件。下面的小片段可能对您有所帮助。
|
![]() |
9
0
我正在读一个csv文件,它有将近100万条记录和65列。在PHP中处理的每1000条记录中,都有一条大的胖mysql语句进入数据库。写作根本用不着时间。解析就是这样。用来处理这个未压缩的600MB文件的内存大约是12MB。 |
![]() |
ViSa · 如何在python中分隔存储在变量中的文本以创建数据帧? 1 年前 |
![]() |
Joan Lopez · 从csv中提取的数据获得平均值 1 年前 |
![]() |
Chinmaya Tewari · 创建新csv文件时权限被拒绝 1 年前 |
|
Parker Clark · 通过Bash操作csv中的特定列? 1 年前 |
![]() |
James Black · 如何基于列删除CSV文件中重复的行 1 年前 |