0
我們認爲,如果沒有限制,將返回9000萬行和需要顯示該視圖的分頁數據集的報表應用程序。分頁DB2上的大量表格
我們正在使用NHibernate和最近發現,其尋呼機制是這樣的:
select * from (select rownumber() over() as rownum,
this_.COL1 as COL1_20_0_,
this_.COL2 as COL2_20_0_
FROM SomeSchema.SomeView this_
WHERE this_.COL1 = 'SomeValue') as tempresult
where rownum between 10 and 20
查詢帶來的DB服務器癱瘓。我認爲發生的事情是,嵌套查詢在選擇子集之前爲where子句所滿足的每行分配一個行號(第10 - 20行)。由於嵌套查詢將返回很多行,因此該機制效率不高。我在其他SQL平臺上看到了很多有效的技巧和竅門,但我正在努力尋找一個DB2解決方案。實際上an article on IBM's own site推薦了nhibernate採取的方法。
有沒有更好的方法?
在這個問題上花了一段時間和谷歌鴿子小時,我得出了同樣的結論。 db2沒有高效的分頁機制。 – grenade 2010-04-07 01:48:50