EXPLAIN 与 schema 探查
更新时间:2026-07-24
SHOW TABLES
列出当前数据库可见的表。只返回业务表,不包含 system schema 与 information_schema 视图:
SQL
1> SHOW TABLES;
2+-------+
3| table |
4+-------+
5| rooms |
6| temps |
7+-------+
information_schema
标准信息模式视图可查(tables、columns、df_settings 等)。查列定义与类型:
SQL
1> SELECT table_name, column_name, data_type FROM information_schema.columns WHERE table_name = 'temps';
2+------------+-------------+-----------------------------+
3| table_name | column_name | data_type |
4+------------+-------------+-----------------------------+
5| temps | room | Dictionary(Int32, Utf8) |
6| temps | temp | Float64 |
7| temps | time | Timestamp(Nanosecond, None) |
8+------------+-------------+-----------------------------+
列类型与写入数据模型的映射见 数据类型与字面量。等价的简写:SHOW COLUMNS FROM temps。
查询可见范围:information_schema 视图只显示 public schema 下的业务表元数据;system schema 中的系统表不可查询,也不出现在视图结果中。
EXPLAIN
EXPLAIN 展示查询的执行计划,不执行查询,用于理解分区裁剪、投影下推等行为。以逻辑计划为例:
SQL
1> EXPLAIN SELECT avg(temp) FROM temps;
2+--------------+---------------------------------------------------+
3| plan_type | plan |
4+--------------+---------------------------------------------------+
5| logical_plan | Aggregate: groupBy=[[]], aggr=[[avg(temps.temp)]] |
6| | TableScan: temps projection=[temp] |
7+--------------+---------------------------------------------------+
上例只列出逻辑计划;EXPLAIN 的完整输出还包含物理执行计划,给出具体的执行算子与数据扫描信息,随数据布局变化。EXPLAIN ANALYZE 会实际执行查询并附带各算子的运行统计。
评价此篇文章
