簡體   English   中英

Flex Java BlazeDS-數據庫數據

[英]Flex Java BlazeDS - DataBase Data

在我的Flex Java BlazeDS應用程序中,我通過以下方法從數據庫中獲取數據。

  1. 通過啟動對Java的RemoteObject調用從Flex請求數據
  2. 用Java執行相應的查詢,獲取結果集並將結果集作為列表傳遞回Flex
  3. 在遠程對象的resultHandler中接收數據,將其轉換為Array Collection並顯示數據。

雖然此過程是BlazeDS DataSerilization的教科書方法,但當數據包含數百萬條記錄時,所花費的時間非常多。 請在下面找到一些統計信息。

  • 從Flex調用Java所需的時間:5毫秒
  • 建立數據庫連接所需時間:3000ms
  • 執行查詢所需時間:120毫秒
  • 遍歷結果集並將數據添加到列表所需的時間:8000ms
  • 將數據從Java傳遞回Flex所需的時間:2000毫秒
  • 將event.result轉換為Array Collection所需的時間:6000ms

總耗時:19125ms(對於MySQL數據庫)和更多的Oracle數據庫,用於數據庫中的143,000條記錄。

顯然,問題出在將ResultSet轉換為Java中的List(必須迭代每個記錄)以及將List轉換為Flex中的ArrayCollection時。

有什么方法或規程可以加快這一過程。

一種可能的過程是避免Java中的這些迭代,並將ResultSet直接傳遞給Flex。 那可能嗎???

考慮使用其他數據庫技術,例如后端的ORM技術應該更快。 當前正在開發一個應用程序,盡管該應用程序不能一次提取大量記錄,但有大量用戶一次提取記錄,與使用JDBC啟動項目相比,我們選擇的ORM技術給我們的響應速度明顯更快。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM