Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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
Java 如何跟踪多数据库连接的分页信息?_Java_Mysql_Database - Fatal编程技术网

Java 如何跟踪多数据库连接的分页信息?

Java 如何跟踪多数据库连接的分页信息?,java,mysql,database,Java,Mysql,Database,我有以下设置 MySQL服务器实例1 MySQL服务器实例2 在这两个表中,我有一个被分区的单表记录。我必须从每个实例检索数据,并在JQGrid中显示数据 以下是需要考虑的因素: 1) 每个数据库实例只需要获得1000条记录。 2) 合并这1000条记录,并按默认列按升序排序。 3) 同样,从合并的记录中,只有1000条记录显示在网格中。 4) 对于接下来的1000条记录,我们不应显示任何已显示的早期记录 我遇到的主要问题是如何唯一地标识从获取的记录中显示的最后一行 我想这样做: 1) 从所有连

我有以下设置

MySQL服务器实例1 MySQL服务器实例2

在这两个表中,我有一个被分区的单表记录。我必须从每个实例检索数据,并在JQGrid中显示数据

以下是需要考虑的因素: 1) 每个数据库实例只需要获得1000条记录。 2) 合并这1000条记录,并按默认列按升序排序。 3) 同样,从合并的记录中,只有1000条记录显示在网格中。 4) 对于接下来的1000条记录,我们不应显示任何已显示的早期记录

我遇到的主要问题是如何唯一地标识从获取的记录中显示的最后一行

我想这样做: 1) 从所有连接获取每条记录的rowid。但是从两个实例来看,rowid是相同的,那么我如何识别哪个记录来自哪个数据库呢? 2) 检查rowid和主键组合。但是,如果客户端在所有实例上都将主键的自动增量值设置为相同,那么我们就不会得到唯一的组合

我是否遗漏了什么,或者是否有其他方法可以做到这一点

我使用JDBC连接来连接数据库

[解决了它] 通过编写一个小函数来解决这个问题,该函数计算并创建一个映射,用于为每次迭代从每个连接获取的记录数


抱歉,无法在此处添加代码,因为它是客户端IP

通常使用POJO类唯一标识一行,在POJO类中,根据类字段重写hashCode()和equals()方法。您可以将最后一行放入HashMap并对照它进行检查。 可以通过使用RANK()和PARTITION by创建一个从表中检索到的行数。用合并结果创建一个临时或tmp_uu表,然后将其删除


希望这对abit有所帮助。

如果两个mysql实例可以看到对方,那么创建一个视图,合并两个查询结果如何。然后在java世界中,您可以对这个视图执行查询/分页吗