客户让我把dolphinschduler任务里面每张表的数据量和开始时间结束时间都统计一下 有没有比较快捷的方法
时间: 2024-03-15 21:44:42 浏览: 29
如果您想要更快捷地统计每张表的数据量和时间范围,可以使用如下 SQL 脚本,该脚本可以自动遍历所有的表,并统计它们的数据量和时间范围:
```sql
SELECT
t.table_name,
t.table_rows AS data_count,
MIN(c.start_time) AS start_time,
MAX(c.end_time) AS end_time
FROM
information_schema.tables t
LEFT JOIN
(SELECT
task_instance_id,
DATE_FORMAT(start_time, '%Y-%m-%d %H:%i:%s') AS start_time,
DATE_FORMAT(end_time, '%Y-%m-%d %H:%i:%s') AS end_time
FROM
task_instance) c
ON
t.table_name = c.task_instance_id
WHERE
t.table_schema = 'dolphinscheduler' AND
t.table_name LIKE 't_ds_%'
GROUP BY
t.table_name;
```
上述 SQL 语句中,`information_schema.tables` 是 MySQL 数据库中存储表信息的系统表,通过查询该表,可以获取到所有表的名称和行数。同时,我们使用了 `LEFT JOIN` 将 `task_instance` 表中的任务执行时间与表信息进行了关联,从而得到每张表的时间范围。最后,我们使用 `GROUP BY` 将结果按表名进行分组。
请将 `dolphinscheduler` 替换为您的数据库名称,`t_ds_%` 替换为您需要统计的表名前缀,如果您需要统计所有表,可以将 `t_ds_%` 修改为 `%`。