我正在尝试从数据库加载一个巨大的数据集。
func main() {
db, err := sql.Open("mysql", "root:pass1@tcp(127.0.0.1:3306)/tuts")
if err != nil {
log.Print(err.Error())
}
defer db.Close()
results, err := db.Query("SELECT id, name FROM tags")
if err != nil {
panic(err.Error())
}
for results.Next() {
var tag Tag
err = results.Scan(&tag.ID, &tag.Name)
if err != nil {
panic(err.Error())
}
log.Printf(tag.Name)
}
}
程序是否一次将所有记录加载到内存中?或者有没有办法指定提取大小,以便程序一次只加载 n 行?假设数据库中有百万行,我想每次获取 1000 条记录。