Время от времени запросы к базе данных могут быть сложными, с несколькими соединениями, поэтому их выполнение занимает некоторое время. Если вы запрашиваете большой объем данных, вполне вероятно, что вы не собираетесь использовать их все. Вот где приходит пагинация. С помощью разбиения на страницы я ускорил один запрос до 10-кратного улучшения времени в Ubikap, где я работаю инженером-программистом.

Как разбить на страницы?

Сначала вы должны установить 2 параметра:

  • limit: сколько объектов вы хотите получить из базы данных
  • offset: какие объекты не будут включены в результат

Вот как будет выглядеть запрос .findAll() с параметром {offset: 4}

и с {смещением: 7, пределом: 3}

Вы также можете использовать его с запросами WHERE, как в примере:

People.findAll({
  limit: 5,
  offset: 10,
  where: {
    eyeColor: "Blue"
  }
})