マルチスレッドのクラスタ化されたWindowsサービスがリッスンしているOracleテーブルからジョブを取得しようとしています。テーブルからジョブをピックアップするためのベストプラクティス - NHibernate
私はSQLを書いていた場合は、クエリはこのようなものになるだろう:のみ1回のラウンドトリップで、だから、
update job_queue
set status = :inProcess
where status = :waiting and rownum <= 1
returning job_id into :job_id;
、およびUPDATE文限り短いロック時間で、スレッドがその仕事を取得します作業する項目。
質問は、NHibernateでこれをどのように実装して、各スレッドを可能な限り高速で実行できるかということです。
よくある質問...あなたは何を試しましたか? – Reniuz
はい、おそらくかなりの頻度です。単純に、nhibernateで未処理の項目を取得しようとしていて、高性能です。 – Feyyaz