批量刪除用戶,傳過來的是一個integer[] ids,長度0~100萬不定,當數(shù)據(jù)量大的時候刪除太慢或者刪除不了,現(xiàn)在想每次刪1000條,時間長點可以接受,想知道怎么每次從ids取1000條,或者其他有更好的方案也可以,刪除用戶需要刪除關聯(lián)的東西太多,不能直接用sql in來刪
1 回答

喵喔喔
TA貢獻1735條經(jīng)驗 獲得超5個贊
參考如下示例代碼:
package com.example.test; import java.util.Arrays; public class Test { public static void main(String[] args) { int maxRange = 2600; int[] ids = new int[maxRange]; for (int i = 0; i < maxRange; i++) { ids[i] = i; } int PER_QUERY_COUNT = 1000; //每次查詢數(shù)量 int from = 0; //起始索引 int to = PER_QUERY_COUNT; //結束索引 for (int j = 0; j < ids.length; j += PER_QUERY_COUNT) { //將一個原始的數(shù)組original,從小標from開始復制,復制到小標to,生成一個新的數(shù)組。 // 注意這里包括下標from,不包括下標to。 System.out.println("from=" + from + ",to=" + to); int[] temp = Arrays.copyOfRange(ids, from, to); for (int id : temp) { System.out.print(id + ","); } from += PER_QUERY_COUNT; to += PER_QUERY_COUNT; if (to > ids.length) { to = ids.length; } System.out.println("\r"); } } }
添加回答
舉報
0/150
提交
取消