类似于:
SUM(*) FROM orders WHERE 'x' = 1;
这必须从 SQL 本身完成,因为这将是更大查询的一部分。
这样做的目的是检查存储大小并检查是否可以通过删除过时的数据来节省成本。
SQL Server 为此提供了一些方便的存储过程。这是 MySQL DB,所以我正在寻找尽可能通用的 SQL 解决方案,除此之外,还有一些适用于 MySql 的解决方案
最佳答案
为什么不使用计数?
SELECT count(*) FROM orders WHERE 'x' =1
或者,您可以使用信息模式表:
SELECT TABLE_NAME ,
(DATA_LENGTH/ 1024) AS "Data Length in MB",
(INDEX_LENGTH / 1024) AS "Index Length in MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'YOUR DATABASE NAME'
AND
TABLE_NAME = 'YOUR TABLE NAME';
其中'YOUR DATABASE NAME'
是您的数据库名称,'YOUR TABLE NAME'
是您需要了解数据的表。
关于mysql - SQL:如何查找查询返回的总数据大小(以字节为单位)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11344525/