如何遍历结果集并以相等的分割方式获取行

时间:2014-03-26 03:43:36

标签: java

我有一个sql查询,我将从中获取10000行你能告诉我任何方式我可以拆分并且每次使用500行进行一些操作并再次使用500行等等,你能建议我吗?哪种方式最适合它,500行应该用'OR'分隔才能使用它们我将在solr查询中使用它们

4 个答案:

答案 0 :(得分:1)

发出多个查询,每批500个行一个查询。在查询中,您可以使用LIMIT offset, count来限制返回的行数以及要返回的第一行的偏移量。初始行的偏移量为0。

答案 1 :(得分:1)

你可以拆分像1-500,500-1000,1000-1500这样的sql行 你可以使用以下的sql查询。

 SELECT * FROM `your_table` LIMIT start, end 

就像

 SELECT * FROM `your_table` LIMIT 0, 500 
 SELECT * FROM `your_table` LIMIT 500, 1000 

启动您生成一个代码的结束值

答案 2 :(得分:0)

使用Top关键字( Sql server

可以获得相等分割的行
Select top 500 * from tableName where id > lastId

MySql

SELECT * FROM table ORDER BY ID DESC LIMIT lastCount, 500

答案 3 :(得分:0)

通过在语句对象上调用setFetchSize(500)来检索整个查询和process it 500 rows at a time。这是标准JDBC,但您的驱动程序不需要支持它。