如何查看mysql中表的存储引擎类型

  • 来源:网络
  • 更新日期:2020-08-24

摘要:查看mysql中表的存储引擎类型的方法:1、使用【show table status from 数据库库名 where name='表名'】;2、查看mysql服务器是否启用InnoDB存储引擎。查看mysql中表的

查看mysql中表的存储引擎类型的方法:1、使用【show table status from 数据库库名 where name='表名'】;2、查看mysql服务器是否启用InnoDB存储引擎。

查看mysql中表的存储引擎类型的方法:

1.show table status from 数据库库名 where name='表名',例:

mysql> SHOW TABLE STATUS from mytest where Name='test';
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length |(省略部分结果)
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
| test | MyISAM |      10 | Fixed      |    0 |              0 |           0 |(省略部分结果)
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
1 row in set (0.02 sec)
mysql>

看到Engine对应的值是MyISAM

2.mysqlshow -u 数据库登录账号用户名 -p'数据库登录账号密码' --status 数据库库名 表名

mysqlshow  -uroot -p'mypassword'   --status mytest test
Database:mytest  Wildcard: test
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length |(省略部分结果)
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)
| test | MyISAM |      10 | Fixed      |    0 |              0 |           0 |(省略部分结果)
+------------+--------+---------+------------+------+----------------+-------------+(省略部分结果)

可以看到Engine对应的值是MyISAM

3.show create table 表名

这种方法有时候是不准确的,例:

服务器配置没有启用InnoDB存储引擎,在创建表的时候设置的是InnoDB存储引擎,创建表时的命令:

mysql> create database mytest;
Query OK, 1 row affected (0.02 sec)
mysql> use mytest;
Database changed
mysql> CREATE TABLE test (
-> id INT(11) default NULL auto_increment,
-> s char(60) default NULL,
-> PRIMARY KEY (id)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected, 2 warnings (0.06 sec)
mysql>

此时使用上面的方法1和2查看会看到test表使用的引擎是MyISAM,但是使用3查看会看到如上的结果。而实际上test表使用的存储引擎是MyISAM的。

4.查看mysql服务器是否启用InnoDB存储引擎:

返回结果是: "InnoDB" 对应的 "Support"等于 “NO” ,表示未启用 InnoDB 存储引擎。

mysql> SHOW  ENGINES;
+------------+---------+----------------------------------------------------------+(省略部分结果)
| Engine     | Support | Comment                                                  |(省略部分结果)
+------------+---------+----------------------------------------------------------+(省略部分结果)
| InnoDB     | NO      | Supports transactions, row-level locking, and foreign keys|(省略部分结果)
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                  |(省略部分结果)
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disa(省略部分结果)
| CSV        | YES     | CSV storage engine                                       |(省略部分结果)
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables|(省略部分结果)
| FEDERATED  | NO      | Federated MySQL storage engine                           |(省略部分结果)
| ARCHIVE    | YES     | Archive storage engine                                   |(省略部分结果)
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance|(省略部分结果)
+------------+---------+----------------------------------------------------------+(省略部分结果)
8 rows in set (0.00 sec)
mysql>

相关学习推荐:mysql教程