6

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

4

1 回答 1

2

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

请参阅此处解释的文档:

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

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

于 2013-04-24T23:05:01.473 回答