Как я могу сократить время запроса Sequelize? (Ajax ответ занимает слишком много времени) - PullRequest
0 голосов
/ 24 апреля 2020

Я запросил ajax метод get с использованием Sequelize для предоставления данных dataTable. Поскольку для получения около 4000 фрагментов данных потребовалось слишком много времени (около 1800 мс), я использовал параметры смещения и лимита для разбиения на страницы на стороне сервера. Однако, независимо от того, приносит ли он 4000 или 10 фрагментов данных, время, которое требуется, было примерно одинаковым (около 1800 мс). Как я могу сделать мой запрос Sequelize быстрее? Я хочу время не менее 100 мс. Любые предложения приветствуются.

const data = models.User.findAll({
    subQuery: false,
    where: {
      UserId: user.id,
    },
    attributes: [
      'id',
      [sequelize.fn('COUNT', sequelize.col('caps')), 'no_caps'],
    ],
    include: [{
      model: models.Post,
      attributes: [],
    }],
    order: [
      ['id', 'ASC'],
    ],
    offset: req.query.start,
    limit: req.query.length,
});
...