如何获取查询结果的大小或平均大小

时间:2017-11-07 14:58:22

标签: mysql

我想对我要从MySQL数据库中的特定表中删除的记录大小进行初步评估。基本上这个想法是得到这个表:

SELECT * FROM mytable WHERE action_date >= '2017-11-5 00:00:00'

然后执行该结果大小的评估(以Mb为单位)。我已经做了类似的事情,但对于整个表格:

SELECT ROUND( ((data_length + index_length) / 1024 / 1024), 2) 
FROM information_schema.TABLES
WHERE information_schema.TABLES.table_schema = 'myDb' and TABLE_NAME = 'mytable'
LIMIT 0 , 30;

您知道我如何对查询结果执行该操作吗?

1 个答案:

答案 0 :(得分:1)

一些基本数学和布尔表达式有帮助。

SELECT SUM(action_date >= '2017-11-5 00:00:00') / COUNT(*) AS factor 
FROM mytable;

然后使用此查询的结果与第二个查询的结果相乘(您获得整个表的大小)。

相关问题