You need to enable JavaScript to run this app. SQLite中带WHERE子句的COUNT类排行榜查询性能优化
优惠活动
大模型
产品
解决方案
定价
更多

SQLite中带WHERE子句的COUNT类排行榜查询性能优化

排行榜查询性能优化需求
  • 业务场景:当前正在开发排行榜功能,用于计算榜单的核心查询语句如下:
    SELECT id, COUNT(type) FROM Data 
    WHERE UPPER(type) = $1 AND id != '123123123123' 
    GROUP BY id ORDER BY COUNT(type) DESC LIMIT 10;
    
  • 数据表现状:
    • Data表总存量约400万行,每日新增数据10万行以上
    • 表上已建1个基于code、version列的组合唯一索引,用于实现两列组合值的唯一性约束
  • 当前查询表现:上述SQL执行耗时约8-10秒,无法满足业务响应标准
  • 已尝试的优化路径:
    • 考虑为每个用户的行数据维护独立计数器,但由于type的取值多达100余种,方案落地复杂度极高,不具备可行性
    • 已尝试在id、type列上添加联合索引,但查询耗时没有明显改善,部分场景下耗时甚至超过8-10秒
  • 核心目标:寻找可落地的优化方案,提升该排行榜查询的执行速度,同时保障数据库整体运行性能

内容的提问来源于stack exchange,提问作者Californium

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.04 10:24:06