Java 需要更新点并将其向西移动
我有一个MySQL空间表,有数百万个点。其中一些点偏离某个恒定的分数度数。我可以这样选择有问题的点Java 需要更新点并将其向西移动,java,mysql,spatial,nashorn,Java,Mysql,Spatial,Nashorn,我有一个MySQL空间表,有数百万个点。其中一些点偏离某个恒定的分数度数。我可以这样选择有问题的点 SELECT AsText(Point) as point FROM records WHERE ST_CONTAINS(GeomFromText(?), point); 其中,我的GeomFromText是一个包含我要移动的点的多边形。将大量的学位点向西转移的最佳方式是什么?我的第一个想法是迭代我的结果集并分别更新每个点,但当我进入数百万行区域时,我担心性能 有没有更好的方法来完成大量地理空间
SELECT AsText(Point) as point FROM records WHERE ST_CONTAINS(GeomFromText(?), point);
其中,我的GeomFromText是一个包含我要移动的点的多边形。将大量的学位点向西转移的最佳方式是什么?我的第一个想法是迭代我的结果集并分别更新每个点,但当我进入数百万行区域时,我担心性能
有没有更好的方法来完成大量地理空间点的移动
顺便说一句,我目前正在通过Nashorn/Java访问数据库,但我也可以在数据库终端上运行一些东西。您可以使用批更新,即,而不是逐个发送更新。刚刚批量发送更新查询,例如
statement.addBatch("your update query1");
statement.addBatch("your update query2);
int[] recordsAffected = statement.executeBatch();
您还可以使用(表示预编译SQL语句的对象)执行批处理更新,这使您能够使用不同的参数重用相同的SQL语句
您还可以创建存储过程并从java调用它