跳到主要内容

商品搜索和筛选索引要先服务业务路径

· 阅读需 1 分钟
一介布衣
全栈开发者 / 技术写作者

商品列表一旦开始承载搜索、分类、品牌、价格区间和上下架状态,索引策略就会马上变成瓶颈。很多系统前期会本能地给几个常用字段都加索引,但到了真实查询组合场景里,效果常常并不理想。

我更在意的不是“字段有没有索引”,而是高频业务路径是不是被索引结构认真照顾过。比如移动端首页推荐、后台商品管理、活动页筛选,它们的查询模式其实差很多。Feathers 服务层最好先把这些典型查询抽出来,再回头看 Sequelize 对应的 where、order 和分页是否真的命中索引。

如果索引策略只按表结构来想,很容易出现单字段索引很多、组合查询还是慢的情况。再往后发展,团队就会不自觉地去加缓存掩盖问题,而不是先把数据库路径理顺。

商品搜索体验最终还是落在用户可见的响应速度上。索引应该服务业务路径,而不是服务我们对数据库“看起来很完整”的想象。