【问题标题】:execute MySQL query from the terminal without printing results从终端执行 MySQL 查询而不打印结果
【发布时间】:2013-01-08 19:02:27
【问题描述】:

我正在执行一些具有非常大结果集的 MySQL 查询。我想看看他们需要多长时间,但我不希望所有的输出都打印在我的终端上,因为它占用了大量的空间和时间。我可以通过编写一个脚本来执行和计时查询来做到这一点,但我想知道是否有办法直接通过终端上的 MySQL 来做到这一点。谢谢。

【问题讨论】:

    标签: mysql terminal


    【解决方案1】:

    更改 mysql 中的寻呼机,如下所示:http://www.mysqlperformanceblog.com/2013/01/21/fun-with-the-mysql-pager-command/

    mysql> pager cat > /dev/null 将丢弃输出,mysql> pager 将其放回原处。

    【讨论】:

      【解决方案2】:

      将您的查询封装在set @foo = (select count(*) from ( ..... ) foo)

      【讨论】:

      • 正是我想要的!
      • 这似乎只适用于真正限制查询的单个值
      • @ejectamenta: 如果你只有一个值,可以缩短为set @foo = (.....);使用 select count...foo 包装器,您可以将返回多个值的选择放在我有 ..... 的位置
      【解决方案3】:

      只需运行 mysql 控制台实用程序,然后输入 source file_name(其中 file_name 包含 sql 命令)

      【讨论】:

      • 我创建了一个 test.sql,它有一个简单的命令(从表限制 100 中选择 *)并运行“source test.sql”。它运行命令,但仍然打印输出。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      相关资源
      最近更新 更多