@Tiran_94
Python Django

Как вывести 50 нужных записей из базы в миллионы?

async with request.app['db'].acquire() as conn:
            result = await conn.execute(
                select([db.my, ]).where(db.my.c.date == date)
            )
            a = await result.fetchall()

Когда то задавал вопрос "Как запросить 20 строк из БД?" и услышал ответ что можно использовать offset и limit, но дело в вот что если у тебя там лежит 50к записей, то норм, но когда больше миллиона идут сильные задержки. По id доставать не получиться так как там еще есть сортировка по разным параметрам.
Как можно максимально эффективно доставать по 50 нужных записей [0:50] ?
  • Вопрос задан
  • 433 просмотра
Пригласить эксперта
Ответы на вопрос 2
Astrohas
@Astrohas
Python/Django Developer
Вообщем, то по скорости Limit ничем не отличается (ну почти) от полного SELECT. В вашем случае тормозит именно сортировка. Попробуйте проиндексировать поле по которому будет осуществляться сортировка.
Ответ написан
Комментировать
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Никак, если сразу нужны данные со 100500-й строки запроса, для остального есть курсоры
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы