MYSQL优化-show命令

前言

有时候我们并不关心mysql的运行情况, 但是有一天我们在运行一个sql语句的时候,执行非常慢的时候我们想知道这个执行过程究竟是怎么样,mysql的问题出在哪里,这个时候我们要使用命令查看mysql的运行情况

show命令

SHOW CHARACTER SET

显示所有可用的字符集

SHOW CHARACTER SET;
SHOW CHARACTER SET LIKE 'latin%';

SHOW COLLATION

输出包括所有可用的字符集

SHOW COLLATION;
SHOW COLLATION LIKE 'latin1%';

SHOW COLUMNS

显示在一个给定表中的各列的信息,对于视图,本语句也起作用。

SHOW COLUMNS FROM mydb.mytable;
SHOW COLUMNS FROM mytable FROM mydb;

SHOW CREATE DATABASE

显示用于创建给定数据库CREATE DATABASE语句。也可以使用SHOW CREATE SCHEMA。

SHOW CREATE DATABASE test;
SHOW CREATE DATABASE test\G;

SHOW CREATE TABLE

SHOW CREATE TABLE java;
SHOW CREATE TABLE java\G;

SHOW DATABASES

SHOW DATABASES可以在MySQL服务器主机上列举数据库。您也可以使用mysqlshow命令得到此清单。您只能看到您拥有某些权限的数据库,除非您拥有全局SHOW DATABASES权限。

SHOW DATABASES;

SHOW ENGINE

SHOW ENGINE显示存储引擎的日志或状态信息。目前支持以下语句:

SHOW ENGINE BDB LOGS;
SHOW ENGINE INNODB STATUS;

SHOW ENGINES

SHOW ENGINES显示存储引擎的状态信息。对于检查一个存储引擎是否被支持,或者对于查看默认引擎是什么,本语句十分有用。

SHOW ENGINES;
SHOW ENGINES\G;

SHOW ERRORS

该语句只显示错误,不同时显示错误、警告和注意。

SHOW COUNT(*) ERRORS;
SHOW ERRORS;

SHOW GRANTS

SHOW GRANTS;
SHOW GRANTS FOR user;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();

SHOW INDEX

SHOW INDEX会返回表索引信息。

SHOW INDEX FROM mydb.mytable;
SHOW INDEX FROM mytable FROM mydb;

SHOW INNODB STATUS

这是SHOW ENGINE INNODB STATUS的同义词,但不赞成使用。

SHOW LOGS

这是SHOW ENGINE BDB LOGS的同义词,但是不赞成使用。

SHOW OPEN TABLES

列举在表缓存中当前被打开的非TEMPORARY表。

SHOW OPEN TABLES;

SHOW PRIVILEGES

显示MySQL服务器支持的系统权限清单。确切的输出根据您的服务器的版本而定

SHOW PRIVILEGES;

SHOW PROCESSLIST

显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程

SHOW STATUS

提供服务器状态信息。此信息也可以使用mysqladmin extended-status命令获得。

SHOW STATUS;

SHOW TABLE STATUS

SHOW TABLE STATUS的性质与SHOW TABLE类似,不过,可以提供每个表的大量信息。您也可以使用mysqlshow –status **_dbname**命令得到此清单。

本语句也显示视图信息。

SHOW TABLE STATUS;
SHOW TABLE STATUS FROM test;

SHOW TABLES

SHOW TABLES列举了给定数据库中的非TEMPORARY表。您也可以使用mysqlshow **_dbname**命令得到此清单。

SHOW TABLES;

SHOW TRIGGERS

SHOW TRIGGERS列出了目前被MySQL服务器定义的触发程序。

SHOW TRIGGERS;

SHOW VARIABLES

SHOW VARIABLES;
SHOW GLOBAL VARIABLES;
SHOW SESSION VARIABLES;
SHOW VARIABLES LIKE 'have%';

SHOW WARNINGS

显示由上一个生成消息的语句导致的错误、警告和注意消息。如果上一个使用表的语句未生成消息,则什么也不显示。SHOW ERRORS是其相关语句,只显示错误。

SHOW COUNT(*) WARNINGS;
SHOW WARNINGS;