one*_*elf 371 mysql myisam innodb
我的MySQL数据库包含几个使用不同存储引擎的表(特别是myisam和innodb).如何找出哪个表使用哪个引擎?
Gre*_*reg 482
SHOW TABLE STATUS WHERE Name = 'xxx'
这将为您(除其他外)提供一个Engine列,这是您想要的.
小智 228
要显示数据库及其引擎中所有表的列表,请使用以下SQL查询:
SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'dbname';
Run Code Online (Sandbox Code Playgroud)
替换dbname为您的数据库名称.
Jav*_*ier 47
SHOW CREATE TABLE <tablename>;
Run Code Online (Sandbox Code Playgroud)
不易解析但更易读SHOW TABLE STATUS.
Eva*_*van 15
对Jocker的回应有点调整(我会发表评论,但我还没有足够的业力):
SELECT TABLE_NAME, ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;
Run Code Online (Sandbox Code Playgroud)
这会从列表中排除MySQL视图,这些视图没有引擎.
SHOW CREATE TABLE <tablename>\G
Run Code Online (Sandbox Code Playgroud)
与输出相比,它的格式会更好
SHOW CREATE TABLE <tablename>;
Run Code Online (Sandbox Code Playgroud)
\G对于许多其他查询/命令,这个技巧也很有用.
小智 7
mysqlshow -i <database_name>
Run Code Online (Sandbox Code Playgroud)
将显示特定数据库的所有表的信息.
mysqlshow -i <database_name> <table_name>
Run Code Online (Sandbox Code Playgroud)
将只为特定的表格这样做.
从 database_name 显示表状态;
它将列出上述数据库中的所有表。
示例输出
显示表状态,其中 name=your_desired_table_name;
它将显示上述表使用的存储引擎。
| 归档时间: |
|
| 查看次数: |
299688 次 |
| 最近记录: |