如何估计 MySQL 查询所需的临时磁盘空间?
Posted
技术标签:
【中文标题】如何估计 MySQL 查询所需的临时磁盘空间?【英文标题】:How to estimate temporary disk space required for MySQL query? 【发布时间】:2013-04-22 11:14:35 【问题描述】:我有一组相当复杂的SELECT
查询,它们使用大量磁盘空间(我在运行时从df -h
看到这一点)。有没有办法估计查询在开始之前所需的临时磁盘空间?
【问题讨论】:
【参考方案1】:您可以使用 EXPLAIN 关键字来描述您的连接将如何影响将连接在一起的行数。如果密钥尚不存在,这也将帮助您正确使用密钥。当它认为需要使用临时表(磁盘空间)时,Explain 会告诉您。根据要连接的行的大小,您可以粗略估计您的磁盘空间需求。
请参阅此处解释的文档:
http://dev.mysql.com/doc/refman/5.0/en/explain.html
不过,基本上,只需在您的选择查询前面加上“解释”即可获得信息输出。我相信您也可以在需要时以编程方式执行此操作,并在实际代码中使用结果,例如您需要计算(估计)大型查询运行时间并将其显示给用户,然后再继续。
【讨论】:
答案太笼统了,我知道explain
是什么。我需要一种估计临时磁盘空间利用率的方法(或公式)。以上是关于如何估计 MySQL 查询所需的临时磁盘空间?的主要内容,如果未能解决你的问题,请参考以下文章