首页 > 数据库 > MySQL > 新特性解读 | 针对用户定制不同格式执行计划
作者:杨涛涛
资深数据库专家,专研 MySQL 十余年。擅长 MySQL、PostgreSQL、MongoDB 等开源数据库相关的备份恢复、SQL 调优、监控运维、高可用架构设计等。目前任职于爱可生,为各大运营商及银行金融企业提供 MySQL 相关技术支持、MySQL 相关课程培训等工作。
本文来源:原创投稿
mysql:8.0.32-cluster:ytt>set @@explain_format=tree;
Query OK, 0 rows affected (0.00 sec)
<mysql:8.0.32-cluster:ytt>explain table t1\G
*************************** 1. row ***************************
EXPLAIN: -> Table scan on t1 (cost=1.20 rows=2)
1 row in set (0.00 sec)
mysql:8.0.32-cluster:ytt>set @@explain_format=traditional;
Query OK, 0 rows affected (0.00 sec)
<mysql:8.0.32-cluster:ytt>explain table t1\G
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: t1
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 2
filtered: 100.00
Extra: NULL
1 row in set, 1 warning (0.00 sec)
分别创建这两个用户:
mysql:8.0.32-cluster:ytt>create user zhangsan;
Query OK, 0 rows affected (0.00 sec)
<mysql:8.0.32-cluster:ytt>create user lisi;
Query OK, 0 rows affected (0.01 sec)
<mysql:8.0.32-cluster:ytt>grant select on ytt.* to zhangsan;
Query OK, 0 rows affected (0.01 sec)
<mysql:8.0.32-cluster:ytt>grant select on ytt.* to lisi;
Query OK, 0 rows affected (0.01 sec)
用户 zhangsan 连接 MySQL 后,自动设置执行计划格式:
root@ytt-super:/home/ytt# mysql -uzhangsan --init-command='set @@explain_format=tree' -D ytt
...
<mysql:8.0.32-cluster:ytt>explain table t1\G
*************************** 1. row ***************************
EXPLAIN: -> Table scan on t1 (cost=1.20 rows=2)
1 row in set (0.00 sec)
同样的方法,用户 lisi 则这样连接 MySQL :结果太长,我就不贴了。
root@ytt-super:/home/ytt# mysql -ulisi --init-command='set @@explain_format=json' -D ytt
本文关键字:#执行计划输出格式# #MySQL 8.0 新特性#
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70024420/viewspace-2934536/ ,如需转载,请注明出处,否则将追究法律责任。