如何估计MySQL查询所需的临时磁盘空间?

时间:2013-04-22 11:14:35

标签: mysql sql select diskspace

我有一组非常复杂的SELECT查询,这些查询使用了大量的磁盘空间(我在运行时从df -h看到了这一点)。有没有办法在启动之前估计查询所需的临时磁盘空间?

1 个答案:

答案 0 :(得分:2)

您可以使用EXPLAIN关键字来描述联接将如何影响将连接在一起的行数。如果密钥不存在,这也可以帮助您正确使用密钥。解释会告诉你何时它认为需要使用临时表(磁盘空间)。根据要连接的行的大小,您可以粗略估计磁盘空间需求。

请参阅这里解释的文档:

http://dev.mysql.com/doc/refman/5.0/en/explain.html

基本上,只需在您的选择查询前加上“解释”以获取信息输出。我相信如果需要你也可以以编程方式执行此操作,并在实际代码中使用结果,例如,您需要计算(估计)大型查询运行时间并在继续之前将其显示给用户。