2011-02-12 43 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