【发布时间】:2013-01-08 19:02:27
【问题描述】:
我正在执行一些具有非常大结果集的 MySQL 查询。我想看看他们需要多长时间,但我不希望所有的输出都打印在我的终端上,因为它占用了大量的空间和时间。我可以通过编写一个脚本来执行和计时查询来做到这一点,但我想知道是否有办法直接通过终端上的 MySQL 来做到这一点。谢谢。
【问题讨论】:
我正在执行一些具有非常大结果集的 MySQL 查询。我想看看他们需要多长时间,但我不希望所有的输出都打印在我的终端上,因为它占用了大量的空间和时间。我可以通过编写一个脚本来执行和计时查询来做到这一点,但我想知道是否有办法直接通过终端上的 MySQL 来做到这一点。谢谢。
【问题讨论】:
更改 mysql 中的寻呼机,如下所示:http://www.mysqlperformanceblog.com/2013/01/21/fun-with-the-mysql-pager-command/
mysql> pager cat > /dev/null 将丢弃输出,mysql> pager 将其放回原处。
【讨论】:
将您的查询封装在set @foo = (select count(*) from ( ..... ) foo)
【讨论】:
set @foo = (.....);使用 select count...foo 包装器,您可以将返回多个值的选择放在我有 ..... 的位置
只需运行 mysql 控制台实用程序,然后输入 source file_name(其中 file_name 包含 sql 命令)
【讨论】: