首页 文章

如何检查特定表的MySQL引擎类型?

提问于
浏览
335

我的MySQL数据库包含几个使用不同存储引擎的表(特别是myisam和innodb) . 如何找出哪个表使用哪个引擎?

11 回答

  • 0

    如果您正在使用MySQL Workbench,则可以右键单击该表并选择“alter table” .

    在该窗口中,您可以看到表格引擎并更改它 .

  • 38

    SHOW TABLE STATUS WHERE Name = 'xxx'

    这将给你(除其他外)一个 Engine 列,这是你想要的 .

  • 9

    要显示数据库及其引擎中所有表的列表,请使用以下SQL查询:

    SELECT TABLE_NAME,
           ENGINE
    FROM   information_schema.TABLES
    WHERE  TABLE_SCHEMA = 'dbname';
    

    dbname 替换为您的数据库名称 .

  • 3
    SHOW CREATE TABLE <tablename>;
    

    SHOW TABLE STATUS 更易解析但更易读 .

  • 433

    要不就

    show table status;

    只是这将列出数据库中的所有表 .

  • 11

    对Jocker的回应进行了一些调整(我会发表评论,但我还没有足够的业力):

    SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = 'database' AND ENGINE IS NOT NULL;
    

    这将从列表中排除MySQL视图,这些视图没有引擎 .

  • 0
    SHOW CREATE TABLE <tablename>\G
    

    与输出相比,它的格式会更好

    SHOW CREATE TABLE <tablename>;
    

    对于许多其他查询/命令, \G 技巧也很有用 .

  • 212
    mysqlshow -i <database_name>
    

    将显示特定数据库的所有表的信息 .

    mysqlshow -i <database_name> <table_name>
    

    将只为特定的表格这样做 .

  • 47

    如果您是Linux用户:

    显示mysql服务器上所有数据库的所有表的引擎,没有表 information_schemamysqlperformance_schema

    less < <({ for i in $(mysql -e "show databases;" | cat | grep -v -e Database-e information_schema -e mysql -e performance_schema); do echo "--------------------$i--------------------";  mysql -e "use $i; show table status;"; done } | column -t)
    

    你可能会喜欢这个,至少你是在Linux上 .

    将打开 less 中所有表格的所有信息,按 -S 切断过长的行 .

    输出示例:

    --------------------information_schema--------------------
    Name                                                        Engine              Version  Row_format  Rows   Avg_row_length  Data_length  Max_data_length     Index_length  Data_free  Auto_increment  Create_time  Update_time  Check_time  C
    CHARACTER_SETS                                              MEMORY              10       Fixed       NULL   384             0            16434816            0             0          NULL            2015-07-13   15:48:45     NULL        N
    COLLATIONS                                                  MEMORY              10       Fixed       NULL   231             0            16704765            0             0          NULL            2015-07-13   15:48:45     NULL        N
    COLLATION_CHARACTER_SET_APPLICABILITY                       MEMORY              10       Fixed       NULL   195             0            16357770            0             0          NULL            2015-07-13   15:48:45     NULL        N
    COLUMNS                                                     MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
    COLUMN_PRIVILEGES                                           MEMORY              10       Fixed       NULL   2565            0            16757145            0             0          NULL            2015-07-13   15:48:45     NULL        N
    ENGINES                                                     MEMORY              10       Fixed       NULL   490             0            16574250            0             0          NULL            2015-07-13   15:48:45     NULL        N
    EVENTS                                                      MyISAM              10       Dynamic     NULL   0               0            281474976710655     1024          0          NULL            2015-07-13   15:48:45     2015-07-13  1
    FILES                                                       MEMORY              10       Fixed       NULL   2677            0            16758020            0             0          NULL            2015-07-13   15:48:45     NULL        N
    GLOBAL_STATUS                                               MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
    GLOBAL_VARIABLES                                            MEMORY              10       Fixed       NULL   3268            0            16755036            0             0          NULL            2015-07-13   15:48:45     NULL        N
    KEY_COLUMN_USAGE                                            MEMORY              10       Fixed       NULL   4637            0            16762755            0 
    
    .
    .
    .
    
  • 4

    转到information_schema数据库,你会找到'tables'表然后选择它;

    Mysql>使用information_schema; Mysql> select table_name,from tables from tables;

  • 2

    另一种方式,也许是获得单个或匹配的表集状态的最短时间:

    SHOW TABLE STATUS LIKE 'table';
    

    然后,您可以使用LIKE运算符,例如:

    SHOW TABLE STATUS LIKE 'field_data_%';
    

相关问题