gpt4 book ai didi

c# - 我将如何获得以特定前缀开头的所有 MySQL 数据库使用的总磁盘空间?

转载 作者:搜寻专家 更新时间:2023-10-30 20:35:29 25 4
gpt4 key购买 nike

我有一台服务器,上面有很多 MySQL 数据库。它们设置有前缀,例如 "DB1-2939128""DB2-3193831"。我正在研究一个 c# 项目,并试图计算以其中一个前缀开头的所有数据库的总磁盘大小。例如:

58.29MB of disk space is used by all databases beginning with "DB1-"

我一直在网上搜索,但没有找到任何 C# 示例。我发现最好的是以下 MySQL 查询:

SELECT table_schema "Database Name",
SUM(data_length+index_length)/1024/1024 "Database Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;

虽然这将返回所有数据库的总大小,而不仅仅是具有特定前缀的数据库。我也不太确定如何将其实现到 c# 中。

请客气,我是新来的。如果您能指出正确的方向,我将不胜感激。

最佳答案

你非常接近。您想要添加 WHERE ... LIKE 'prefix%',然后在 GROUP BY 子句中使用 SUBSTRING()

SELECT SUBSTRING(table_schema,1, LENGTH('wp')) "Database Name Prefix", 
SUM(data_length+index_length)/1024/1024 "Database Size (MB)"
FROM information_schema.TABLES
WHERE table_schema LIKE CONCAT('wp', '%')
GROUP BY SUBSTRING(table_schema,1, LENGTH('WP'))

或者,如果您想要逐项列出数据库,就是这个。

SELECT table_schema "Database Name Prefix", 
SUM(data_length+index_length)/1024/1024 "Database Size (MB)"
FROM information_schema.TABLES
WHERE table_schema LIKE CONCAT(prefix', '%')
GROUP BY table_schema WITH ROLLUP

关于c# - 我将如何获得以特定前缀开头的所有 MySQL 数据库使用的总磁盘空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41663708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com