在拥有隐藏功能的悠久传统中,让我们列出 MySQL 中的隐藏功能。
请为每个答案添加一项功能。
另请参阅:
Linux 的
隐藏功能 PowerShell 的
隐藏功能 Oracle 数据库的
隐藏功能 Windows 2008 的
隐藏功能 Solaris/OpenSolaris 的
隐藏功能 SQL Server 的
隐藏功能 IIS (6.0 / 7.0) 的隐藏功能
一个经常未使用但更冗长的
很方便,但不如出色的非企业查询分析器- 像这样启用
mysql> 设置分析=1;
查询正常,0 行受影响(0.00 秒)
这两个是填充配置文件表的垃圾查询,
mysql> select * from _test.customers;
错误 1146 (42S02):表 '_test.customers' 不存在
mysql> select * from test.customers limit 0;
空集(0.00 秒)
获取所分析的所有查询及其持续时间的列表
mysql> 显示配置文件;
+------------+------------+------------------------ ------+
| 查询_ID | 持续时间 | 查询 |
+------------+------------+------------------------ ------+
| 1 | 0.00013400 | select * from _test.customers |
| 2 | 0.01546500 | select * from test.customers |
+------------+------------+------------------------ ------+
上次查询的显示信息只是“显示个人资料” - 或者您可以指定查询
mysql> 显示查询 2 的配置文件;
+--------------+--------------+
| 状态 | 持续时间 |
+--------------+--------------+
| 开始| 0.000053 |
| 检查权限 | 0.000007 |
| 开桌 | 0.000014 |
| 系统锁 | 0.000006 |
| 表锁| 0.000008 |
| 初始化 | 0.000065 |
| 优化 | 0.000003 |
| 执行 | 0.000201 |
| 结束 | 0.000003 |
| 查询结束 | 0.000002 |
| 释放物品| 0.000020 |
| 日志慢查询| 0.000002 |
| 清理 | 0.000004 |
+--------------+--------------+
13 行(0.00 秒)
您还可以请求特定信息,例如 CPU、BLOCK IO 和 SWAPS 等(均在手册页中)
mysql> 显示查询 2 的配置文件 CPU;
+--------------+---------+---------+---- --------+
| 状态 | 持续时间 | CPU_user | CPU_system |
+--------------+---------+---------+---- --------+
| 开始| 0.000056 | 0.001000 | 0.000000 |
| 检查权限 | 0.000007 | 0.000000 | 0.000000 |
| 开桌 | 0.000010 | 0.000000 | 0.000000 |
| 系统锁 | 0.000005 | 0.000000 | 0.000000 |
| 表锁| 0.000007 | 0.000000 | 0.000000 |
| 初始化 | 0.000059 | 0.000000 | 0.000000 |
| 优化 | 0.000003 | 0.000000 | 0.000000 |
| 统计| 0.015022 | 0.000000 | 0.000000 |
| 准备| 0.000014 | 0.001000 | 0.000000 |
| 执行 | 0.000004 | 0.000000 | 0.000000 |
| 发送数据 | 0.000245 | 0.000000 | 0.000000 |
| 结束 | 0.000004 | 0.000000 | 0.000000 |
| 查询结束 | 0.000002 | 0.000000 | 0.000000 |
| 释放物品| 0.000021 | 0.000000 | 0.000000 |
| 日志慢查询| 0.000002 | 0.000000 | 0.000000 |
| 清理 | 0.000004 | 0.000000 | 0.000000 |
+--------------+---------+---------+---- --------+
16 行(0.00 秒)
之后不要忘记禁用它,因为日志记录会增加开销。
mysql> 设置分析=0;
查询正常,0 行受影响(0.00 秒)
一些并不总是众所周知或记住的MySQL 命令。
将结果集方向更改为垂直,以便于阅读和粘贴。
mysql> SELECT CURDATE(), CURTIME()\G
*************************** 1. row ***************************
CURDATE(): 2009-06-26
CURTIME(): 12:10:37
Run Code Online (Sandbox Code Playgroud)
取消您当前输入的查询,同时将其保留在历史记录中。
mysql> SELECT CURDATE(), CURTIME()\c
mysql>
Run Code Online (Sandbox Code Playgroud)
使用您最喜欢的 $EDITOR 编辑查询或上一个查询(分别)。
mysql> SELECT CURDATE(), CURTIME()\e
mysql> \e
Run Code Online (Sandbox Code Playgroud)
清除控制台的输出。
mysql> \! clear
Run Code Online (Sandbox Code Playgroud)
通过 MD5 哈希比较结果集。
mysql> pager md5sum -
PAGER set to 'md5sum -'
mysql> SELECT CURDATE(), CURTIME();
d24e22e4e2d33dfda9f01ba934b7676a -
mysql> nopager
PAGER set to stdout
Run Code Online (Sandbox Code Playgroud)
改变你的提示。
mysql> prompt (\u@\h) [\d]>\_
PROMPT set to '(\u@\h) [\d]>\_'
(dan@localhost) [test]>
Run Code Online (Sandbox Code Playgroud)
搜索给定字符串的命令历史记录(如 Bash)。
开始输入搜索词并重复 ^R 以循环查看结果。
^R
(reverse-i-search)`DATE': SELECT CURDATE(), CURTIME();
Run Code Online (Sandbox Code Playgroud)