You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用非索引列查询建有多索引的MySQL数据库

查询实现方式

基础查询写法

直接运行以下SQL即可得到符合条件的Bug总数:

SELECT COUNT(*) AS total_bug_count
FROM Bugs
WHERE created_at >= '2019-03-01';

说明:如果created_at是DATETIME/TIMESTAMP类型,传入的'2019-03-01'会被自动解析为2019-03-01 00:00:00,刚好覆盖3月1日零点及之后创建的所有数据,符合需求。

性能注意事项

  • 现有联合索引(category, token, reported_at)对这个查询没有加速效果:联合索引遵循最左前缀匹配规则,本次查询的筛选条件既没有用到索引最左前列的category、token字段,筛选维度也不是索引末尾的reported_at,执行时会走全表扫描。
  • 如果表数据量较小(百万行以内),全表扫描的统计速度完全可以接受,不需要做额外调整。
  • 如果这个统计查询属于高频调用、且表数据量很大,建议单独为created_at字段创建索引,大幅降低查询扫描的行数:
-- 按需创建,不要盲目加索引
CREATE INDEX idx_bugs_created_at ON Bugs(created_at);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 04:12:24