【问题标题】:JavaFx Tableview speed and sorting in Sql applicationSql 应用程序中的 JavaFx Tableview 速度和排序
【发布时间】:2014-07-02 02:44:11
【问题描述】:

我正在开发一个小型玩具应用程序,以扩展我对 Java JavaFxSql 的了解。我的本地网络中有一个 MySQL 服务器,我可以与之通信,并且可以填充、排序......等简单的 Tableview。数据只需要显示给用户,无需编辑。一切都很干净。

问题:

  • 大约有 170 000 行和 10 个列,全部为 chars,要显示,这似乎很难在合理的时间内完成。查询是在启动期间完成的,大约需要 1 1/2 分钟才能看到表格。

  • 内存占用也很大,没有填充 Tableview 的应用程序大约 70 mb,所有数据都有 600-700 mb(用于填充 mysql 的 xml 文件大小为 70 mb .. .) !

  • 排序真的很慢,我正在使用 Stringproperty,它应该会根据:JavaFx tableview sort is really slow how to improve sort speed as in java swing (如果我理解正确的话)但是自定义排序,到目前为止我还没有尝试过。

我的想法:

类似于移动应用程序设计,我认为适配器模式可以解决这些问题。因此,我创建了一个具有正确大小的元素的OberservableList,但在开始时只填充了行的限制。当我滚动完成(滚轮)时,必须通过sql-queries 提前使用新元素更新列表。这应该可以提高第一个问题的性能。好主意,但是如果用户要通过滚动条滚动(单击并向下拖动),我该怎么办,然后我会跳过某些条目,但我需要这些信息来给用户反馈滚动到的位置。 我该如何解决这个问题?

对于排序,我会使用 sql 排序方法,因此每次排序都会在 sql server 上执行,并会创建一个新的 OberservableList。和以前一样,在第一个查询中只会加载一定数量的数据。

如果这种方法也会影响内存占用,我不确定。

您的意见: 我的想法在JavaJavaFx 中合理可行吗? 我很想听听您对这些问题的看法。

谢谢。

【问题讨论】:

    标签: java sql performance tableview


    【解决方案1】:

    我发现JVx 能够提供延迟加载功能。这应该可以解决问题

    【讨论】:

      猜你喜欢
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-04
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多