我目前正在開發一個程序,用於根據數據表檢索數據庫中的記錄。從oracle數據庫中選擇多條記錄的有效方法(或在短時間內)
這是我的sql cmd字符串。
select distinct a.id,
a.name,
b.status,
b.date
from table1 a
left join table2 b
on a.id = b.id where #$%^$#%@
而一些表格有大約5000萬條記錄或以上。在大多數情況下,套接字不會返回超時錯誤,因爲用戶將輸入他們想要的where子句。但是,當程序試圖從數據庫中檢索所有記錄時,它將顯示套接字錯誤,因爲它需要太多時間來檢索不允許的記錄。
我的一個經歷是限制使用rownum檢索的行,因爲用戶可能不需要從表中獲取如此多的數據。例如,用戶可以輸入他們想要檢索10行和記錄的最大行數。我會將10000條記錄還給他們。但我未能通過使用rownum < 10000檢索相同的確切數量的記錄,我不知道它是如何工作的...
因此,我在這裏要求來自專業開發人員的任何建議。請幫忙!非常感謝!!!!
請記住,限制或傳呼並不總是作爲一種快捷方式作爲操作的工作可能需要完全完成。這可能是一種排序或某些集合操作的情況。除此之外,設置一個請求限制和一個'SELECT * from()WHERE ROWNUM <1000)'(都在一起)確實允許表達式快捷。你也可以先使用'select cound(*)'。除此之外,不用硬性的陳述這些陳述可能是一個想法,但可以使用低價位的消費者羣體,並與(甲骨文)資源經理一起放置失控的會話。 – eckes