Я пытаюсь загрузить огромный набор данных из БД.
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 записей.