2011-02-12 47 views
0

我有一本〜50,000字的词典,每个词都与其他单词(同义词,反义词等)具有许多关系。当我尝试一个1000字左右的小样本时,它工作得很好。但是,当我执行整个数据集时,它会很快崩溃ASP.NET本地开发服务器。开发服务器在流利NHibernate的大型交易上崩溃

List<Word> words; 
... 
using (var transaction = DatabaseSession.BeginTransaction()) 
{ 
    foreach (var word in words) 
     MvcApplication.DatabaseSession.Save(word); 
    transaction.Commit(); 
} 

我在使用C#/ .NET 4,ASP.NET MVC3和Fluent NHibernate的Windows 7 x64上。

更新:它确实崩溃了WebDev服务器,而不是数据库。

+0

你可以定义*崩溃*?你是否遇到异常?此外,SQLite不是线程安全的,我不确定在多线程应用程序中使用它是个好主意。 – 2011-02-12 12:43:19

+0

对,当我调用Save时,服务器出现堆栈溢出错误。我不想在生产中使用SQLite;我尝试使用MS SQL,它给了我同样的问题。 – 2011-02-12 17:53:15

回答

0

我通过创建控制台应用程序来完成数据上传。我认为服务器因内存大小而窒息。

0

变化ISession变为IStatelessSession。它应该有助于提高性能。看看thisthis

+0

当我更改为使用IStatelessSession时,当我调用Insert时,出现Word表格不存在的错误。我很确定表存在,因为我在启动时将模式导出到数据库。 – 2011-02-12 17:55:49