视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql中pager命令的妙用_MySQL
2020-11-09 18:30:06 责编:小采
文档


bitsCN.com

mysql中pager命令的妙用

在mysql 中,如果linux下,使用pager命令将大大提高工作效率,下面重点看几个例子:

1 首先看下基本用法

mysql> pager less

PAGER set to 'less'

mysql> show engine innodb status/G

这个时候就可以开始使用了less模式了,可以使用空格到下一页,quit退出;

甚至可以直接执行linux下的脚本,比如有个脚本在 /tmp/下的lock_waits.sh

则可以:

mysql> pager /tmp/lock_waits

PAGER set to '/tmp/lock_waits'

会执行/tmp/lock_waits的脚本

2 当要处理大量的数据集的时候,如果只想关心结果,可以这样:

mysql> pager cat > /dev/null

PAGER set to 'cat > /dev/null'

#比如执行一系列的冗长的执行计划语句 ,忽略中间过程输出,直接只显示耗时

mysql> SELECT ...

1000 rows in set (0.91 sec)

mysql> SELECT ...

1000 rows in set (1.63 sec)

3 又比如,如果你在进行SQL调优,有大量的结果产生

mysql> SELECT ...

[..]

9 rows in set (0.42 sec)

可以通过checksum去比较每次调整后的SQL语句所产生的结果是否是相同的

mysql> pager md5sum

PAGER set to 'md5sum'

# Original query

mysql> SELECT ...

32a14d773c9b85172969c659175d2d -

1 row in set (0.40 sec)

# Rewritten query - wrong

mysql> SELECT ...

fdb94521558684afedc8148ca724f578 -

1 row in set (0.16 sec)

这里checksum不同,所以重写的SQL语句有问题

4 如果有大量的连接,用show processlist看会比较不大方便,比如要知道哪些当前的连接是睡眠或者死掉的,就不大方便,可以这样:

mysql> pager grep Sleep | wc -l

PAGER set to 'grep Sleep | wc -l'

mysql> show processlist;

337

346 rows in set (0.00 sec)

马上看到当前有多少连接sleep了;

进一步,要知道每一种状态的连接情况,可以这样:

mysql> pager awk -F '|' '{print $6}' | sort | uniq -c | sort -r

PAGER set to 'awk -F '|' '{print $6}' | sort | uniq -c | sort -r'

mysql> show processlist;

309 Sleep

3

2 Query

2 Binlog Dump

1 Command

当然,也可以用SQL查询的方式实现了:

mysql> SELECT COUNT(*) FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND='Sleep';

SELECT COMMAND,COUNT(*) TOTAL FROM INFORMATION_SCHEMA.PROCESSLIST GROUP BY COMMAND ORDER BY TOTAL DESC;

bitsCN.com

下载本文
显示全文
专题