sybn sybn-util 项目说明文档 - 基于java的跨数据库联合查询

explain 获取 SQL 查询计划

2026-04-27
sybn
sql

  • content

说明

explain 用于获取后续 select 语句的查询计划(execution plan),返回数据库引擎如何执行该 SQL 的详细信息。

适用场景:

  1. SQL 性能调优——查看是否走索引、扫描行数等。
  2. 执行计划分析——判断是否有全表扫描、临时表等。

语法

explain select ...
  • explain 后紧跟一条 select 语句。
  • 返回查询计划的列表(格式与数据库原生 explain 一致)。

例子

-- 查看 mysql 查询计划
explain select * from users where id = 1;
-- 返回类似:[{id:1, select_type:'SIMPLE', table:'users', type:'const', key:'PRIMARY', rows:1}, ...]

注意事项

  1. 仅对 JDBC 数据源有效——explain 实际上是把 explain select ... 透传给后端数据库执行。
  2. 对内存数据源(如 select * from [{a:1}])、redis、csv 等非 JDBC 数据源返回空列表。
  3. 返回格式取决于后端数据库——mysql 返回行列表,其他数据库的 explain 输出格式可能不同。
  4. explain 是前置命令,不是后置命令——它作用于紧跟其后的 select,而不是作用于前一条语句的结果。

Comments

暂不开放评论! 可微信联系