如果我從我的java應用程序創建一個oracle查詢並且該oracle查詢返回一個大的列表,那麼更有效的排序是:使用oracle order by子句還是排序java使用Collections.sort(列表)? 我直覺地理解,這樣做在oracle是更快,但找不到原因由於性能原因應該在java或oracle中進行排序
1
A
回答
0
退房這個答案這樣一個問題:database sort vs. programmatic java sort
基本上,如果你有幾行數據(10-100),從代碼中排序它會更快,否則使用數據庫,他們正在爲這種東西設計
0
如果該列是索引,那麼我相信ORDER BY
在數據庫中的處理將比在Java中排序結果集更快。數據庫旨在處理大量數據,並擁有各種優化技術。再次取決於實際的查詢字符串,數據庫優化器可能會選擇一個查詢計劃,它可以按順序返回數據,而無需執行排序。那麼,如果體積大,我會離開工作,DB不是加載在內存中的整個結果,並在Java中排序它,獨自離開CPU使用率等等
+3
即使沒有索引Oracle,與任何其他嚴重的DBMS一樣,排序可能會比Java快得多。如您所說,數據庫旨在有效處理大量數據。數據庫中的排序算法非常受關注,因此它們往往非常有效。數據庫服務器通常比客戶端擁有更多的內存。如果多個連接請求相同的結果集,則排序後的結果可能會被共享,而在客戶端,每個會話都必須對其自己的結果進行排序。這些是你不應該在客戶端排序的一些原因。 – mustaccio
相關問題
- 1. 由於性能原因,替代stdext :: hash_map
- 2. 由於性能原因檢測Trident 6+
- 3. 由於性能原因在代碼中檢索所有對象
- 4. 出於性能原因,我應該將XML轉換爲JSON嗎?
- 5. 由於某種原因bash腳本不能在php中執行
- 6. 在Oracle中對行進行排序
- 7. 由於IBOutlet的原因,iOS應用程序在didFinishLaunchingWithOptions中崩潰
- 8. 由於可讀性原因實現IDisposable
- 9. 通用快速排序不工作由於某種原因
- 10. 程序由於某種原因掛起
- 11. 由於某種原因,$ _SESSION不適用於Android應用程序
- 12. 由於性能原因將函數提升爲全局函數?
- 13. 由於性能原因刪除jQuery是否合理?
- 14. MySQL的行進行排序性能
- 15. 由於未知原因
- 16. 由於某種原因,第
- 17. 由於未知原因,
- 18. NaN由於未知原因
- 19. file_exists由於未知原因,
- 20. 我應該使用SQL限制還是不是性能原因?
- 21. 哪些java集合應該用於排序以獲得更高性能?
- 22. 由於某種原因,內部類中的Java KeyListener沒有得到該事件
- 23. 由於數據庫的原因,應用程序停止工作
- 24. 由於某些原因,WPF應用程序
- 25. 由於網絡原因,應用程序UI掛起,iOS
- 26. 安卓應用程序崩潰,由於未知的原因
- 27. 因素水平如何按照原始值進行排序?
- 28. ajax html vs xml/json響應 - 性能或其他原因
- 29. 在JDBC或ADO.NET之間進行選擇,在Oracle上進行性能研究
- 30. 在Java中對ArrayList進行排序
SQL數據庫中的索引在輸入時被排序。這意味着您在插入時會產生訂購/索引成本。之後,如果列索引,索引是_already ordered_ –