0
目前我正在使用Java 8最優化的方式在Java中8查詢結果數據庫
我現在是在一個地步,我要查詢從我的本地MySQL數據庫結果的春/ Hibernate項目。
我想出了這樣的方法有兩種:
Jinq它利用Java的8流:
customers.where( c -> c.getCountry().equals("Belgium") );
的Hibernate查詢(HQL):
Query query = session.createQuery("from Customers where Country = 'Belgium' "); List list = query.list();
使用時間戳,我能夠te執行時間(Jinq比HQL花費的時間少)。
但性能方面,Jinq最適合這裏的場景嗎?有另一種查詢方式更優化嗎?最終,項目將每隔10分鐘查詢300,000到1,000,000個結果。
謝謝。
對於我的經驗來說,最好的性能是原始查詢。 – scaisEdge
如果ORM使用反射來將自定義類中的查詢結果包裝起來,它總是比原始查詢慢。所以,如果你不需要ORM,不要使用它,原始查詢更快。無論如何,請注意速度不應該是一個問題,ORM經常用於企業環境,它們不會影響性能,所以如果您需要一個ORM,只需選擇一個更適合您的需求的ORM。 – BackSlash
如果您要運行查詢返回一百萬條記錄,則應該直接使用JDBC,以便在檢索行時對其進行處理,從而保持內存佔用空間不變。你不想使用返回被編組對象的'LIst'的API。 – Andreas