我有一個表格,大約在10,000,000行左右。我需要從我的C#應用程序翻閱此表。我使用NHibernate。我曾嘗試使用此代碼示例:當我執行它的操作最終超時,如果我的startId超過7000000更大了大桌面上的Nhibernate分頁性能(10,000,000行)
return session.CreateCriteria(typeof(T))
.SetFirstResult(startId)
.SetMaxResults(pageSize)
.List<T>();
。我使用的pageSize是200.我在小於1000行的小表上使用了這種方法,它的工作原理和執行速度很快。
的問題是,在這樣一個大的表有沒有更好的方式來完成這項使用NHibernate?
哪個rdbms?或者SQL的外觀如何?也許嘗試在那裏扔OrderBy ... – dotjoe 2012-02-15 22:33:26
這是MSSQL2005。立即嘗試訂單。 – Dave 2012-02-15 22:43:07
訂單實際上沒有什麼區別,但我確實發現將startId更改爲更低的值可以使操作完成。它似乎窒息了大約7,000,000或更高的startId值。更低的速度是緩慢的,但至少會結束。 – Dave 2012-02-15 22:55:09