StarRocks系统表

sql 复制代码
-- 查看 statistics_ 数据库下的所有表
USE _statistics_;
SHOW TABLES;

-- 查看 information_schema 数据库下的所有表
USE information_schema;
SHOW TABLES;

StarRocks 系统表详解

一、_statistics_ 数据库(统计信息)

表名 用途 说明
column_statistics 列级统计信息 存储表中列的统计信息,如NDV、NULL值数量等
external_column_statistics 外部表列统计 外部数据源(如Hive、Iceberg)的列统计信息
external_histogram_statistics 外部表直方图统计 外部数据源的直方图统计信息
histogram_statistics 直方图统计 数据分布的直方图统计,用于查询优化
pipe_file_list 管道文件列表 记录PIPE导入的文件信息
table_statistic_v1 表统计信息V1 表级别的统计信息(旧版本)
task_run_history 任务运行历史 统计信息收集任务的历史记录

二、information_schema 数据库(元数据和系统信息)

1. 集群信息表

表名 用途
schemata 所有数据库信息
tables 所有表的基本信息
columns 所有表的列信息
partitions 表分区信息
views 视图信息
materialized_views 物化视图信息

2. 权限相关表

表名 用途
user_privileges 用户权限信息
schema_privileges 数据库权限
table_privileges 表权限
column_privileges 列权限

3. BE(后端节点)监控表

表名 用途
be_metrics BE性能指标
be_tablets BE上的tablet信息
be_threads BE线程信息
be_logs BE日志信息
be_configs BE配置信息
be_bvars BE内部变量
be_txns BE事务信息
be_compactions BE压缩信息
be_cloud_native_compactions 云原生压缩信息
be_datacache_metrics 数据缓存指标

4. FE(前端节点)监控表

表名 用途
fe_metrics FE性能指标
fe_tablet_schedules FE tablet调度信息

5. 任务和作业表

表名 用途
loads 导入作业信息
stream_loads 流式导入作业
routine_load_jobs 例行导入作业
task_runs 任务运行信息
tasks 任务定义
load_tracking_logs 导入跟踪日志

6. 配置和变量表

表名 用途
global_variables 全局系统变量
session_variables 会话变量
verbose_session_variables 详细的会话变量

7. 约束和关系表

表名 用途
table_constraints 表约束(主键、唯一键)
key_column_usage 键列使用情况
referential_constraints 外键约束

8. 管道和外部表

表名 用途
pipes 数据管道定义
pipe_files 管道文件信息

9. 其他系统表

表名 用途
character_sets 字符集信息
collations 排序规则
engines 存储引擎信息
events 事件信息
routines 存储过程和函数
triggers 触发器
statistics 优化器统计信息
tables_config 表配置信息
temp_tables 临时表信息

三、实用查询示例

1. 查看数据库和表信息

sql 复制代码
-- 查看所有数据库
SELECT * FROM information_schema.schemata;
sql 复制代码
-- 查看所有表和类型
SELECT table_schema AS '数据库',
       table_name   AS '表名',
       table_type   AS '类型',
       engine       AS '引擎',
       table_rows   AS '行数',
       create_time  AS '创建时间'
FROM information_schema.tables
WHERE table_schema NOT IN ('_statistics_', 'information_schema')
ORDER BY table_schema, table_name;

2. 监控BE状态

sql 复制代码
-- 查看BE性能指标
SELECT * FROM information_schema.be_metrics LIMIT 10;
复制代码
sql 复制代码
-- 查看BE上的tablet分布
SELECT be_id, COUNT(*) AS tablet_count
FROM information_schema.be_tablets
GROUP BY be_id;

3. 查看导入作业

sql 复制代码
-- 查看最近的导入作业
SELECT job_id,
       label,
       state,
       progress,
       create_time
FROM information_schema.loads
ORDER BY create_time DESC
LIMIT 10;

4. 查看统计信息

sql 复制代码
-- 查看表的统计信息
SELECT db_id,
       table_id,
       column_name,
       row_count,
       ndv,
       null_count
FROM _statistics_.column_statistics
LIMIT 10;

5. 查看系统变量

sql 复制代码
-- 查看重要系统变量
SELECT *
FROM information_schema.global_variables
WHERE variable_name LIKE '%timeout%'
   OR variable_name LIKE '%parallel%';

四、重要系统表的用途总结

用于监控和运维:

  1. be_metrics / fe_metrics - 性能监控

  2. be_logs / load_tracking_logs - 故障排查

  3. be_tablets - 数据分布监控

用于查询优化:

  1. _statistics_.column_statistics - 查询计划优化

  2. information_schema.statistics - 优化器统计

用于元数据管理:

  1. tables / columns - 数据结构查看

  2. partitions - 分区管理

  3. user_privileges - 权限管理

用于作业管理:

  1. loads / stream_loads - 导入作业监控

  2. task_runs - 任务执行情况

这些系统表是管理和监控 StarRocks 集群的重要工具,特别是对于性能调优、故障排查和日常运维非常有帮助。

相关推荐
互联网叫兽1 小时前
redis深入学习二
数据库·redis·学习
疯狂打码的少年1 小时前
【数据库技术】复习日:关系代数 + SQL + 规范化(整理对比表)
jvm·数据库·笔记·sql
先吃饱再说2 小时前
从零开发到工程查询:SQLite 嵌入式数据库与高级 SQL 实战
数据库
ShineWinsu2 小时前
对于MySQL:数据库的操作的解析
linux·数据库·c++·mysql·面试·笔试·库的操作
‎ദ്ദിᵔ.˛.ᵔ₎2 小时前
MySQL 数据类型
数据库·mysql
这个DBA有点耶2 小时前
索引合并不是万能药:MySQL同时用两个索引,为什么比不用还慢?
数据库·mysql·dba
Aime_Perfect3 小时前
sqlserver AlwaysOn(一)
数据库·sqlserver
HAYDENR3 小时前
毛利率波动大可能是什么原因?毛利率变动怎么判断是否合理?
数据库
大牧师3 小时前
MySQL 学习教程
数据库·sql·mysql·docker·node·全栈·后端数据
Elastic 中国社区官方博客4 小时前
如何通过一条 ES|QL 查询为 Elasticsearch 中的每个指标构建指标图表
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索·kibana