mysql之有没有办法计算 MySQL 查询响应的大小

java哥 阅读:68 2024-09-07 23:24:14 评论:0

我有一些查询似乎返回了大量数据,但我想知道有多少。

除了序列化数据并将其转储到文件中之外,有没有办法以编程方式选择查询响应的字节大小?

请您参考如下方法:

要在数据库中 100% 执行此操作,您可以根据查询结果创建一个表:

 CREATE TABLE db_name.test_table SELECT a v1, b v2 FROM db_name.tbl2; 

您想要结果大小的查询应该替换 SELECT a v1, b v2 FROM db_name.tbl2
然后得到表的大小
  SELECT round((data_length / 1024 / 1024), 2) "Size in MB"  
      FROM information_schema.TABLES  
    WHERE table_schema = "db_name" AND table_name = "test_table"; 

然后删除测试表:
 drop table db_name.test_table; 

这只会为您提供原始数据大小,但不会提供任何额外开销,例如传输回的数据包 header (如果您的结果集被分成许多数据包)。

甚至可能有一种巧妙的方法来使用临时表或在将查询传递给它的存储过程中执行此操作。


标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号