首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHibernate HiLo干预

NHibernate HiLo干预
EN

Stack Overflow用户
提问于 2010-06-09 16:31:26
回答 1查看 354关注 0票数 0

我们有一个使用NHibernate和Castle ActiveRecord的单一服务器/单一数据库应用程序,SQL Server是它的后盾。

作为处理的一部分,我需要写入多达120万行数据。使用ActiveRecord和NHibernate非常慢,需要改进-这可以通过"insert into .. select .. from ..“轻松实现。可能在一个存储的进程中。

拖我后腿的是ID生成。我们使用HiLo生成。如果我编写一个存储的proc来做我需要的事情,我可以从数据库表中获得下一个要使用的数字,执行插入操作,然后更新表。问题是我不知道:

目前有多少个NHibernate缓存了NHibernate正在执行的其他操作

我能做的最好的事情(我认为)就是在我从存储的proc返回时请求NHibernate刷新它缓存的数字--或者从存储的proc返回最后使用的ID并更新HiLo缓存,但是我找不到任何这样做的引用。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2010-06-10 01:32:32

如果还没有,可以考虑使用StateLessSession并设置批处理大小。这两者都将大大加快批量数据处理的速度。

http://davybrion.com/blog/2008/10/bulk-data-operations-with-nhibernates-stateless-sessions/

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

https://stackoverflow.com/questions/3004164

复制
相关文章

相似问题

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