前提数据库里有160多万条信息,请删除id号为
989202, 989233, 844378, 844581, 841929, 841885, 1179337, 1181335, 1036451, 1194508, 1256440, 765310, 883164, 1059542, 1121023, 897425, 1179545, 1179539, 771366, 1192482, 1197634, 1197342, 1195800, 1195586, 1196120, 1197433, 1199581, 875236, 1109813, 988695, 1195425, 1190327, 1196981, 989400, 1197797, 1197999, 1189850, 791781, 1176813, 792945, 1111975, 861528 的内容,
方式一:单独id删除,删除一个id检索一次160万行,好像解放了双手,也算是批量,但慢得要死。
1 2 3 4 5 |
DELETE FROM dede_archives WHERE source=989202; DELETE FROM dede_archives WHERE source=989233; DELETE FROM dede_archives WHERE source=844378; ... DELETE FROM dede_archives WHERE source=861528; |
方式二:合并检索 IN 语句速度起飞
1 2 3 4 5 6 7 8 9 |
DELETE FROM dede_archives WHERE source IN ( 989202, 989233, 844378, 844581, 841929, 841885, 1179337, 1181335, 1036451, 1194508, 1256440, 765310, 883164, 1059542, 1121023, 897425, 1179545, 1179539, 771366, 1192482, 1197634, 1197342, 1195800, 1195586, 1196120, 1197433, 1199581, 875236, 1109813, 988695, 1195425, 1190327, 1196981, 989400, 1197797, 1197999, 1189850, 791781, 1176813, 792945, 1111975, 861528 ); |
再润色,添加索引
确认 source 字段是否已有索引,如果没有,先加一个索引:
1 |
CREATE INDEX idx_source ON dede_archives(source); |