首页 / 浏览问题 / 移动GIS / 问题详情
imobile 如何查询分页(如查询前10行)
82EXP 2022年06月17日
请教下各位大佬,对数据集做查询时,如何在QueryParameter中写返回指定行数的数据哎,就类似于Oracle中的rownum,目的时对数据进行分页查询

1个回答

您好,根据您描述的问题,建议您在查询出所有结果后,对结果进行一个筛选呢,因为QueryParameter是获取到所有的结果

希望可以帮助到您。
3,810EXP 2022年06月17日
这种的话一旦数据量大的话查询效率会让人难以接受呢。没有可以分页查询的方法吗?
我这边的目的是要把查询出来的数据渲染到界面上去,如果全部查出来的话,数据量大的情况下光是查询所有数据都会很耗时呢
您需要查询的数据大概有多少条呢,是在什么场景下使用查询呢,如果真的非常大的话,您可以根据查询条件,来拆分一下查询条件呢
现在在用的查询条件查出来的差不多200多条(总共60w+),用户根据选择的字段及条件查询数据并展示,拆分查询条件要如何拆分?
而且这个数据量肯定还会有更大的
您可以在linux上部署iserver数据服务,移动端对服务器发送查询请求,在服务端查询完后将结果返回移动端呢
我这边做的是离线的
您的使用场景需要在室外吗,如果不需要,室内使用可以用局域网部署iserver,您现在查询一次需要多久时间呢,如果您没有对记录集建立索引,您还可以建立索引,或者拆分记录集来提升性能。
建立索引后需要在代码里面做什么处理吗?还是说建了索引后在代码中执行查询的时候建立的索引自己会生效?
自行生效哈,索引就是提升速度的
那这个是用工作空间加载还是对shp设置了字段索引后保存就可以了?
1.通过桌面建立字段索引再保存数据集,该功能位置为开始选项卡->数据处理->字段索引。

2.通过桌面建立空间索引,在“开始”选项卡的“数据处理”组中,单击“空间索引”按钮,弹出“管理空间索引”对话框,可以建立R树索引

3.使用imobile的SpatialIndexInfo类建立空间索引
创建字段索引我知道,我的意思是,在idesktop中创建了索引后如何保存这些索引,如何在移动端如何使用?

看了下,要在代码里面建索引:

String[] fields = new String[]{"SmID"};
Map<String,String> map = dataset.getFieldIndexes();
boolean isExist = map.containsValue("SmID");
if (!isExist){
	boolean isOk = dataset.buildFieldIndex(fields,"SmID_index");
}
...