gpt4 book ai didi

java - Flex Java BlazeDS - 数据库数据

转载 作者:太空宇宙 更新时间:2023-11-04 08:01:29 24 4
gpt4 key购买 nike

在我的 Flex Java BlazeDS 应用程序中,我通过以下方法从数据库获取数据。

  1. 通过启动对 Java 的 RemoteObject 调用从 Flex 请求数据
  2. 在 Java 中执行相应的查询,获取结果集并将结果集作为列表传递回 Flex
  3. 接收Remote Object的resultHandler中的数据,将其转换为Array Collection并显示数据。

虽然此过程是 BlazeDS DataSerilization 的教科书方法,但当数据包含数百万条记录时,所花费的时间非常长。请在下面找到一些统计数据。

  • 从 Flex 调用 Java 所需的时间:5ms
  • 建立数据库连接所需的时间:3000ms
  • 执行查询所需的时间:120ms
  • 迭代结果集并将数据添加到列表所需的时间:8000 毫秒
  • 将数据从 Java 传回 Flex 所需的时间:2000ms
  • 将 event.result 转换为数组集合所需的时间:6000ms

总耗时:19125 毫秒(对于 MySQL 数据库),对于 Oracle 数据库,数据库中的 143,000 条记录需要更多时间。

显然,问题出在 Java 中将 ResultSet 转换为 List(必须迭代每条记录)以及 Flex 中将 List 转换为 ArrayCollection 时。

有什么方法或程序可以加快这个过程。

一个可能的过程可能是避免 Java 中的这些迭代并直接将 ResultSet 传递给 Flex。这可能吗???

最佳答案

考虑使用不同的数据库技术,例如后端的 ORM 技术应该更快。我目前正在开发一个应用程序,虽然不会一次提取大量记录,但有很多用户一次提取记录,与我们使用 JDBC 启动项目时相比,我们选择的 ORM 技术使我们的响应速度明显加快。

关于java - Flex Java BlazeDS - 数据库数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12780937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com