【发布时间】:2010-11-06 07:28:11
【问题描述】:
我正在编写一个 C# 应用程序,它需要在某个时间点将大约 600K 记录插入数据库。
它们是非常简单的记录:只有 3 个 long。
我正在使用参数来设置命令,然后遍历内存中的数据以进行插入,在每个循环中将值分配给命令参数并运行 command.ExecuteNonQuery()
在 SqlServer 上完成大约需要 50 秒,在 MySql 上更慢,而在平面文件中插入相同的数据只需要几毫秒。
是我做错了什么还是数据库太慢了?
【问题讨论】:
-
您同时使用 SQL Server 和 MySQL。您的解决方案是否必须同时使用这两个数据库?
-
是的,如果需要,我可以针对不同的后端调整代码
-
如果这是一次性操作,并且只是一种将这些数字存储在平面文件中的保存/加载方式,我会这样做。无需使用电锯(DB)来钉钉子,锤子就足够了
-
有点晚了,但 HDF 不是上述两种——一种针对数字数据优化的结构化、模式驱动的数据格式。 hdfgroup.org/HDF5
标签: c# mysql sql-server