我正在努力将70M行从源表移动到目标表,并使用完整转储并在另一端恢复它不是一个选项。我决定创建一个小的SQL文件,一次选择1M行,并将行插入新表(在清理之后)。问题变成我需要用1M块迭代遍历70M行,我才意识到每次迭代都变得越来越慢。
有没有办法创建部分索引来加速具有OFFSET 0 LIMIT 1000000,OFFSET 1000000 LIMIT 1000000等的查询?
示例:
快速:
choice <- function(input) {
switch(input,
"x"="x1",
"y"="x2",
"z"="x3",
NA)
}
#> choice("x")
#[1] "x1"
#> choice("z")
#[1] "x3"
#> choice("other")
#[1] NA
慢:
SELECT id FROM huge_table ORDER BY id OFFSET 0 LIMIT 1000000
很慢:
SELECT id FROM huge_table ORDER BY id OFFSET 1000000 LIMIT 1000000