Ответы пользователя по тегу SQL
  • Как в go получить результат sql запроса по частям?

    tiabc
    @tiabc
    Бизнес-партнер и консультант по технологиям
    Позволяет по дефолту, но не по тысяче строк, а в виде курсора, который двигается при каждом вызове rows.Next(), о чем подробнее можно прочитать в документации database/sql:
    https://golang.org/pkg/database/sql/#Rows

    Там же есть пример, который это иллюстрирует:
    rows, err := db.Query("SELECT ...")
    ...
    defer rows.Close()
    for rows.Next() {
        var id int
        var name string
        err = rows.Scan(&id, &name)
        ...
    }
    err = rows.Err() // get any error encountered during iteration
    ...


    Только в Go для конкретных баз данных написаны разные драйверы: https://github.com/golang/go/wiki/SQLDrivers
    И хорошо бы заранее проверить в исходниках, что драйвер, который вы используете, действительно использует курсор внутри, а не считывает, например, сразу все в слайс и выдает элементы из него по одному.
    Ответ написан
    Комментировать