达梦数据库8-SQL语句统计使用情况
-- 统计数据库中每个用户的表数量、索引数量、占用空间大小
SELECT
owner_name,
COUNT(table_name) AS table_count,
COUNT(index_name) AS index_count,
SUM(data_length + index_length) / 1024 / 1024 AS total_mb
FROM
(
SELECT
t.owner_name,
t.table_name,
i.index_name,
t.data_length + t.index_length AS data_and_index_length,
t.data_length,
t.index_length
FROM
dba_tables t
LEFT JOIN
dba_indexes i ON t.table_name = i.table_name AND t.owner_name = i.owner_name
WHERE
t.table_type = 'TABLE'
) AS subquery
GROUP BY
owner_name;
这段代码提供了一个简化版本的统计数据库用户表、索引和空间占用的SQL查询。它使用了达梦数据库的系统表dba_tables
和dba_indexes
来获取所需的信息,并通过LEFT JOIN
来同时获取表和对应的索引信息。最后通过GROUP BY
对不同的用户进行分组,并计算每个用户的表数量、索引数量以及数据和索引占用的总空间大小。
评论已关闭