我有一个包含2,600,000条记录的大型数据库,我想通过循环遍历所有记录来对它进行一些高级搜索,但是,使用selectAll()
运行脚本需要很长的加载时间。
作为一种解决方法,我使用以下代码将超过100,000条记录循环26次:
for (i in 1..26) {
transaction {
for (app in AppsTable.selectAll().limit(n = 100000, offset = i * 100000L)) {
//..analysis
}
}
}
我怎样才能加快这个查询,或者如果可能的话,我怎样才能减少查询集,只查询我需要处理的列?例如,我可以这样做吗?AppsTable.selectAll(AppsTable.name, AppsTable.downloadCount, AppsTable.developerId)
1条答案
按热度按时间juzqafwq1#
只需在
selectAll()
之前使用slice()
方法,如下所示: