2014-01-12 90 views
-1

如果我有一個存儲數據庫成員信息的程序,當我想要完成任務或需要耗費太多時間時,創建系統成員的整個數組列表是否可行?或者我應該在數據庫中找到特定成員或特定列所需的單元格,否則會過於混亂?Java數據庫對象

+2

唯一合理的答案是,它取決於......關於成員的數量,您需要執行的「任務」類型(可以在數據庫級別執行?)等。 – assylias

+0

而不是想知道系統的性能,測量它。使用ORM來簡化數據訪問並查看性能是否在可接受的限度內。優化ORM的使用。如果需要進一步的性能調整,可以優化一些更直接的數據庫訪問,只根據需要進行微優化。請記住,有時節省幾個小時(或幾天,幾周,幾個月等)的開發時間比節省毫秒的系統時間要多得多。 – David

回答

1

你的問題是相當一般的;要做的最好的事情取決於程序需要做什麼。

但是,一般來說,從表中選擇所有行(尤其是在表中有很多行時)並不是一個好主意,然後嘗試在Java代碼中查找需要的行(通過查找通過列表)。

最好通過發送適當的SQL查詢來告訴數據庫需要哪些行,以便數據庫準確返回程序需要的數據。關係數據庫是專門針對該工作進行優化的。

+0

我以不同的方式閱讀這個問題(我承認,不清楚)。我以爲他問的是「我應該選擇給定行的所有列,還是隻選擇我需要的列」而不是「我應該選擇所有行並在代碼中進行篩選」。 – David

+0

如果我需要具有特定ID的所有成員的電子郵件,那麼我只需使用該ID創建所有成員的成員對象,並將它們添加到數組列表中,然後通過數組列表並檢查電子郵件?或者只是通過表格檢查電子郵件,併爲正確的成員對象? – R00059159

+0

@ R00059159創建一條SQL語句以獲取您需要的確切數據。就像'從ID = ...'成員中選擇電子郵件,然後讓Java程序將該查詢發送到數據庫並獲得結果。 – Jesper