我有一個nhibernate查詢來生成這樣的查詢。我只提取出的示例場景NHibernate查詢優化
SELECT ID FROM EMPLOYEE WHERE = EMPLOYEE.NAME @ P1和 AND MANAGER_ID IN(@ P2,P3 @,@ P4 ... @ PN)等。
使用NHprofiler我發現查詢需要大約500毫秒。表具有名稱和manager_id的索引。員工表大約有600萬條記錄。
當查詢只有一個記錄要在manager_id內搜索時,例如
SELECT ID FROM EMPLOYEE WHERE = EMPLOYEE.NAME @ P1和 AND MANAGER_ID IN(@ P2),該查詢在大約2秒完成。
因此,我試圖通過使用最終查詢並運行查詢@n次(n - pn的數量)來劃分此查詢。但是,這些查詢中的每個查詢的性能都會增加大約400 ms或更多。
有同等Storedproc的(有要是再尋找經理ID樹的條件),並執行速度更快..
有沒有辦法,我在這裏我失去了一些東西?
謝謝。
你有適當的DB指標設置? – 2009-09-23 20:06:29
是的..它與sp和nhibernate正在打的相同的分貝..! – bkhanal 2009-09-23 20:37:14