Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql应用程序中的JavaFx Tableview速度和排序_Java_Sql_Performance_Tableview - Fatal编程技术网

Sql应用程序中的JavaFx Tableview速度和排序

Sql应用程序中的JavaFx Tableview速度和排序,java,sql,performance,tableview,Java,Sql,Performance,Tableview,我正在开发一个小型玩具应用程序,以扩展我对JavaJavaFx和Sql的知识。我有一个MySQL服务器在我的本地网络,我可以与之通信,一个简单的Tableview可以填充,排序。。。等。数据只需向用户显示,无需编辑。一切都很好很干净 问题: 大约有17万行10列,全部字符,要显示,这似乎很难在合理的时间内完成。查询是在启动期间完成的,大约需要1 1/2分钟才能看到表 此外,内存占用也非常巨大,没有填充Tableview的应用程序大约有70MB,它拥有600-700MB的所有数据(用于填充mys

我正在开发一个小型玩具应用程序,以扩展我对
Java
JavaFx
Sql
的知识。我有一个MySQL服务器在我的本地网络,我可以与之通信,一个简单的Tableview可以填充,排序。。。等。数据只需向用户显示,无需编辑。一切都很好很干净

问题:

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

  • 此外,内存占用也非常巨大,没有填充Tableview的应用程序大约有70MB,它拥有600-700MB的所有数据(用于填充mysql的xml文件大小为70MB…)

  • 排序真的很慢,我正在使用Stringproperty,它应该会根据:(如果我理解正确的话)提供帮助。但是,对于自定义排序,我到目前为止还没有尝试

我的想法:

与移动应用程序设计类似,我认为适配器模式可以解决这些问题。因此,我创建了一个元素大小正确的
OberservableList
,但只在开头填充了有限的行。当我滚动完成(滚轮)时,必须通过
sql查询
提前用新元素更新列表。对于第一个问题,这将提高我的性能。好主意,但如果用户要通过滚动条滚动完成(单击并向下拖动),我将跳过某些条目,但我需要信息为用户提供滚动到何处的反馈。 我怎样才能解决这个问题

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

我不确定这种方法是否也会影响内存占用

您的意见:
Java
JavaFx
中,我的想法是否合理且可行? 我很想听听你对这些问题的看法

谢谢。

我发现它能够提供延迟加载功能。这应该能奏效