首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一次将1000+记录保存到数据库

一次将1000+记录保存到数据库
EN

Stack Overflow用户
提问于 2009-06-11 16:53:22
回答 5查看 15.8K关注 0票数 12

我目前使用的是NHibernate。在这种情况下,我需要将一堆记录保存到数据库中,如下所示:

代码语言:javascript
运行
复制
var relatedTopics = GetRelatedTopics(topic);
foreach (var relatedTopic in relatedTopics /* could be anywhere from 10 - 1000+ */)
{
    var newRelatedTopic = new RelatedTopic { RelatedTopicUrl = relatedTopic, TopicUrl = topic.Name };
    _repository.Save(newRelatedTopic);
}

当有大量记录要保存时,这显然是非常繁重的,必须多次访问数据库。什么是更好的方法?有没有什么我可以做的批量更新?我使用DataSet会更好吗?

谢谢

EN

Stack Overflow用户

发布于 2009-06-11 17:11:28

插入记录的最快方法是生成文本文件并使用LOAD file语法。大多数数据库在将数据文件导入数据库时都有非常快的实现。对于MySQL,请参见下面的内容:

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

对于其他数据库,请参阅相应的手册。如果您要频繁插入一百万条记录或数千条记录,这将非常有用。否则,最好的方法就是创建一个包含数千个插入的大型SQL,并直接在数据库连接上执行它,跳过ORM及其相关的验证。

票数 1
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/982295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档