MySQL 如何确定我的表是 MyISAM 还是 Innodb
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/3681790/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How do I find if my a table is MyISAM or Innodb
提问by Nick Vanderbilt
Possible Duplicate:
How can I check MySQL engine type for a specific table?
可能重复:
如何检查特定表的 MySQL 引擎类型?
Assuming that users is a table following command does not reveal if users table is MyISAM or Innodb.
假设 users 是一个表,下面的命令不会显示 users 表是 MyISAM 还是 Innodb。
desc users;
How do I find what is the type of users table?
如何找到用户表的类型?
回答by Andrew Moore
You can use SHOW TABLE STATUS
to see table information.
您可以使用SHOW TABLE STATUS
查看表信息。
SHOW TABLE STATUS WHERE `Name` = 'my_table';
Simply check the value of the Engine
column in the returned dataset to know which engine the table is using.
只需检查Engine
返回数据集中列的值即可知道表使用的是哪个引擎。
回答by Wrikken
SELECT ENGINE
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME='your_table_name'
AND TABLE_SCHEMA='your_database_name';
-- or use TABLE_SCHEMA=DATABASE() if you have a default one.
回答by Daniel Vassallo
You can use SHOW CREATE TABLE
and look for the ENGINE
part in the response.
您可以使用SHOW CREATE TABLE
和查找ENGINE
响应中的部分。
SHOW CREATE TABLE users;
Example:
例子:
CREATE TABLE innodb_table (id int, value int) ENGINE=INNODB;
CREATE TABLE myisam_table (id int, value int) ENGINE=MYISAM;
CREATE TABLE default_table (id int, value int);
Result for innodb_table
:
结果为innodb_table
:
SHOW CREATE TABLE innodb_table;
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
| innodb_table | CREATE TABLE `innodb_table` (
`id` int(11) DEFAULT NULL,
`value` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Result for myisam_table
:
结果为myisam_table
:
SHOW CREATE TABLE myisam_table;
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
| myisam_table | CREATE TABLE `myisam_table` (
`id` int(11) DEFAULT NULL,
`value` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+--------------+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Result for default_table
:
结果为default_table
:
SHOW CREATE TABLE default_table;
+---------------+-----------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------+
| default_table | CREATE TABLE `default_table` (
`id` int(11) DEFAULT NULL,
`value` int(11) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+---------------+-----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)