mysql - SQL:如何查找查询返回的总数据大小(以字节为单位)?

标签 mysql sql

类似于:

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/

相关文章:

java - 从 Java 插入 MySQL 时 CPU 使用率较高

php - AngularJS 中更改 URL 而不刷新页面

Mysql连接三个表的数据(多对多关系)

php - 一般错误 : 1267 Illegal mix of collations when filtering with a non-ASCII character

SQL 可移植性陷阱

mysql - Monkeyrunner/jython 中未找到 JDBC 驱动程序错误

php - MySql PDO - 使用 GROUP BY、ORDER BY 和 INNER JOIN 时如何获取 "newest rows from group"?

mysql - mysql查询中的逗号分隔字符串比较

MYSQL使用JOIN从一张表中提取两列

mysql - 将mysql数据导出到csv文件