一句话说明:把 SQL 粘进来,本页按静态写法规则标出常见的索引失效片段,逐条给改写方向与 EXPLAIN 字段读法;组合索引还能按你填的列顺序核对最左前缀。
LIKE '%x'DATE(col)col + 1规则命中只是写法提示,是否真的影响性能,要看真实执行计划与数据分布。
粘贴 SQL 后点「开始静态诊断」。每条命中会给出原文片段、原因与改写方向;页面不会执行这条 SQL。
填好两侧列顺序后点「核对可用列」。
| 字段 | 看什么 | 常见值 / 提示 |
|---|---|---|
type | 访问方式,粗略反映查找效率 | system → const → eq_ref → ref → range → index → ALL;出现 ALL 通常要复核索引 |
key | 优化器实际选用的索引 | 为 NULL 时说明没用上索引,与 possible_keys 不一定一致 |
rows | 预估需要扫描的行数 | 估算值,受统计信息影响,不能当真实耗时 |
filtered | 按条件过滤后剩余的百分比估计 | 与 rows 相乘可粗略估计返回量,同样是估算 |
Extra | 额外执行信息 | Using index 覆盖索引;Using filesort / Using temporary 需结合数据量判断 |
本页不发起数据库连接,也不会为你生成 EXPLAIN 结果;上表是字段含义的通用说明。
预览:—
| # | SQL 摘要 | 命中数 | 最高级别 | 命中规则 |
|---|
基于本页已经生成的本地诊断摘要,整理成复核顺序与需要补收集的信息。点击先弹出点选验证码;AI 不执行 SQL、不编造 EXPLAIN 结果、不生成 DDL、不声称性能提升幅度。
SQL 慢查询怎么优化,第一步通常是确认「索引是不是被写法挡住了」。索引失效情况里最常见的是前导通配符:LIKE '%关键词' 无法按 B-tree 有序定位,改成后缀匹配、全文索引或专门的检索方案要按业务决定。
第二类是对索引列做函数或运算,例如 DATE(created_at) = '2026-11-01'。把函数移到常量侧、写成左闭右开的范围条件,往往比新增一列冗余字段更先考虑。隐式类型转换也常被忽略:字符串列与无引号数字比较,可能导致索引失效,本页按你标注的字段类型做提示。
最左前缀原则说的是组合索引 (a, b, c) 的有序定位从 a 开始:WHERE 跳过 a 通常无法按该索引有序查找;遇到范围条件后,其后的列一般也不再用于有序定位,是否生效以执行计划为准。sql 索引怎么建还要看区分度、写入成本与覆盖索引,本页不生成 DDL。
explain 怎么看?先看 type、key、rows 与 Extra,但 rows 是估算值,不能当真实耗时。本页支持多条 SQL 批量诊断与引号、HTML、字符串字面量转义导出,全部是慢查询静态检查,不连接数据库,以实际执行计划与压测结果为准。
| 静态写法检查 | 只按你粘贴的 SQL 文本匹配常见失效模式,不连数据库、不解析真实执行计划。 |
|---|---|
| 最左前缀 | 组合索引 (a,b,c) 可用到 a;若 WHERE 跳过 a,通常无法按该索引有序定位,可用列数由条件列顺序决定。 |
| EXPLAIN 怎么看 | 重点看 type、key、rows、Extra;rows 是估算值,Using filesort 与 Using temporary 需结合数据量判断。 |
| 改写示例 | 页面给的是写法方向(如把列上函数移到常量侧),不是可直接上线的 SQL,需按字段类型与业务复核。 |
| 边界说明 | 不生成 DDL、不预测耗时、不报扫描行数;以实际 EXPLAIN 与压测结果为准。 |
很多慢查询不是没建索引,而是写法让索引用不上。本页先本地检查写法,再让你填组合索引列顺序与 WHERE 条件列,逐条说明可用到哪一列。
诊断基于正则与括号配平的静态匹配,不执行 SQL;大小写、注释与换行会先做归一化,复杂嵌套子查询请拆成单条再查。
常见有前导 % 模糊匹配、对索引列做函数或运算、字符串列与数字比较造成隐式转换、OR 混入无索引列、组合索引跳过最左列、否定条件与大偏移分页等。
先看 type 的访问方式、key 实际用到的索引、rows 的估算扫描行数与 Extra 里的 Using filesort / Using temporary;rows 是估算值,不能当真实耗时。
本页不生成建表语句。它只按你填的组合索引列顺序与 WHERE 条件列,说明最左前缀可用到哪一列,具体索引设计要看数据分布与写入成本。
不会。页面不发起任何数据库连接,也不执行 SQL 或生成执行计划;AI 整理同样只接收本地诊断摘要。
不能。示例只提示写法方向,例如把列上函数移到常量侧或用范围条件替代前导通配,字段类型、NULL 语义与业务条件需自行复核。
现在只有你自己能看到这条留言(已标上「待审核」),管理员审核通过后才会展示给所有人~
资料版本 2026-11。本页仅对 SQL 文本做正则与结构层面的静态检查,不连接数据库、不执行语句、不生成执行计划或 DDL;EXPLAIN 字段为通用说明,不同数据库版本存在差异。改写示例是方向提示,须按字段类型、NULL 语义与业务条件复核,以实际执行计划和压测结果为准。
还没有留言,来抢沙发吧!