私は約10,000,000行でかなり大きいテーブルを持っています。私はC#アプリケーションからこのテーブルを参照する必要があります。私はNHibernateを使用しています。私startIdが7,000,000より大きい場合外に私が運転結局回、それを実行するとNhibernate大きなテーブル(10,000,000行)のページングパフォーマンス
return session.CreateCriteria(typeof(T))
.SetFirstResult(startId)
.SetMaxResults(pageSize)
.List<T>();
:私はこのコード例を使用しようとしました。私が使用しているpageSizeは200です。私は、このメソッドを1000行未満の非常に小さなテーブルで使用しています。
質問は、このような大きなテーブルでNHibernateを使用してこれを達成する良い方法はありますか?
どのrdbmsですか?またはSQLの外観はどうですか?たぶんそこにOrderByを投げてみてください... – dotjoe
それはMSSQL2005です。今注文をしようとしています。 – Dave
注文は実際には何の違いもありませんでしたが、startIdを低い値に変更すると操作が完了することができました。それは約700万以上のstartId値でチョークするようです。低いものは遅いですが、少なくとも終了します。 – Dave