我们有一个数据库表,其中包含来自不同客户的数据。
我们想知道每个客户贡献了多大百分比的表大小(以字节为单位),以便我们可以根据他们使用的数据库大小向客户收费?换句话说,有没有办法获得表的子集的大小?
顺便说一句,我知道如何从模式中获取表的总大小(以字节为单位),但这不是问题。
由于
答案 0 :(得分:-1)
为什么不为每个客户创建一个数据库以避免多租户。如果是这样,您现在可以进行查询以了解每个数据库的大小,如下面的查询所示。
SELECT table_schema as 'Database Name',
sum( data_length + index_length ) as 'Size in Bytes',
round((sum(data_length + index_length) / 1024 / 1024), 4) as 'Size in MB'
FROM information_schema.TABLES
GROUP BY table_schema;