Sequelize 分页性能检查清单
· 阅读需 2 分钟
后台列表的分页性能,前期常常给人一种“问题不大”的错觉。因为数据量小时,任何写法都像能跑。一旦线上数据变多,再叠加排序、过滤和关联,分页接口很快就会成为慢查询集中地。
后台列表的分页性能,前期常常给人一种“问题不大”的错觉。因为数据量小时,任何写法都像能跑。一旦线上数据变多,再叠加排序、过滤和关联,分页接口很快就会成为慢查询集中地。
刚接触 Sequelize 时,很多人喜欢用一条查询同时把总数和明细都拿回来,觉得这样“更省请求”。但在复杂列表里,我越来越倾向把 count 和 rows 拆开,因为它们的目标根本不是一回事。
后台开发里最常见的接口,就是列表页。可也正因为它太常见,团队很容易在 2021 年这种快速迭代环境里把它写成“每个模块各有一套参数”。等到前端页面一多,分页契约不统一的代价就会开始出现。