进行sql优化时有些sql输出巨长,一执行疯狂刷屏。这里列一个小汇总,记录各类数据库如何不输出执行结果只显示执行时间 / 执行计划。
Oracle
set autotrace trace
set timing on
-- 恢复输出
set autottrace off
SqlServer
其实SqlServer基本没有这个需求,SqlServer主要都是用图形化的工具
--实际执行计划
set statistics profile on
--返回执行时间和CPU时间
set statistics time on
--输出语句物理读和逻辑读数目
set statistics io on
PG
EXPLAIN ANALYZE sql语句
MySQL
pager cat > /dev/null
-- 恢复输出
pager
一个小例子
mysql> select count(*) from orasup1;
+----------+
| count(*) |
+----------+
| 960896 |
+----------+
1 row in set (0.60 sec)
mysql> pager cat > /dev/null
PAGER set to 'cat > /dev/null'
mysql>
mysql> select count(*) from orasup1;
1 row in set (0.65 sec)
mysql> pager
Default pager wasn't set, using stdout.
mysql>
mysql> select count(*) from orasup1;
+----------+
| count(*) |
+----------+
| 960896 |
+----------+
1 row in set (0.63 sec)
参考 https://www.percona.com/blog/2013/01/21/fun-with-the-mysql-pager-command/