首页 > 解决方案 > 如何减少 Sequelize 请求时间?(Ajax 响应耗时太长)

问题描述

我请求使用 Sequelize 的 ajax get 方法来提供 dataTable 数据。由于获取大约 4,000 条数据花费的时间太长(大约 1,800 毫秒),因此我使用了 offset 和 limit 选项来执行服务器端分页。但是,无论是带来 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,
});

标签: node.jsajaxdatatablesequelize.jsserver-side-rendering

解决方案


推荐阅读