MySQL 中ANALYZE [LOCAL NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

2020-08-14 15:30:01 浏览数 (1)

ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [, tbl_name] ...

本语句用于分析和存储表的关键字分布。在分析期间,使用一个读取锁定对表进行锁定。这对于MyISAM, BDB和InnoDB表有作用。对于MyISAM表,本语句与使用myisamchk -a相当。

MySQL使用已存储的关键字分布来决定,当您对除常数以外的对象执行联合时,表按什么顺序进行联合。

本语句会返回一个含有以下列的表:

Table

表名称

Op

进行分析

Msg_type

状态、错误、信息或警告之一

Msg_text

消息

您可以使用SHOW INDEX语句检查已存储的关键字分布。请参见13.5.4.11节,“SHOW INDEX语法”。

如果从上一个ANALYZE TABLE语句开始,表没有变化,则不再分析该表。

ANALYZE TABLE语句被写入二进制日志中,除非使用了自选的NO_WRITE_TO_BINLOG关键词(或其别名LOCAL)。

SHOW CREATE TABLE语法

SHOW CREATE TABLE tbl_name

显示用于创建给定表的CREATE TABLE语句。本语句对视图也起作用。

mysql> SHOW CREATE TABLE tG

*************************** 1. row ***************************

Table: t

Create Table: CREATE TABLE t (

id INT(11) default NULL auto_increment,

s char(60) default NULL,

PRIMARY KEY (id)

) ENGINE=MyISAM

根据SQL_QUOTE_SHOW_CREATE选项,SHOW CREATE TABLE会对表名称和列名称加引号

0 人点赞