node.js - 如何减少 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,
});
解决方案
推荐阅读
- c# - Entity Framework 突然异常
- azure - docker login 不能作为 ci cd 的一部分工作,但可以在本地工作
- swagger - 实施动态值
- css - 如何绑定由构成颜色名称、角度等的动态变量组成的线性渐变背景属性?
- json - 我正在尝试加载无法加载的 json 文件
- c++ - C++ 中 golang 样式延迟范围保护的性能
- python - 如何使用 re.sub 用自定义文本替换特定的正则表达式组?
- laravel-backpack - 是否可以过滤掉 Laravel 的背包重新排序中的一些元素?
- css - CSS 为新元素创建选择器
- kubernetes - Kubernetes服务选择器用于选择另一个服务而不是部署?