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

时间:2012-07-05 12:38:34

标签: mysql sql

类似的东西:

SUM(*) FROM orders WHERE 'x' = 1;

这必须从SQL本身完成,因为这将是更大查询的一部分。

这样做的目的是通过删除过时的数据来检查存储大小并检查可能的节省。

SQL Server为此提供了一些方便的存储过程。这是MySQL DB,所以我正在寻找一个通用的SQL解决方案,简而言之,MySql的东西

1 个答案:

答案 0 :(得分:3)

为什么不使用计数?

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'是您需要了解数据的表格。