• 如何查看mysql的存储引擎


    要查看MySQL中的存储引擎,可以使用以下两种方法:

    1. 使用 SQL 查询:

    您可以使用SQL查询来查看MySQL中的存储引擎。打开MySQL客户端,并连接到您的MySQL服务器,然后运行以下SQL查询:

    SHOW TABLE STATUS;
    
    • 1

    这将列出所有数据库中的表以及与每个表相关的信息,包括存储引擎。在结果中,可以查看"Engine"列,该列显示了每个表所使用的存储引擎。

    示例结果:

    +--------------+--------+---------+------------+-------+----------------+-------------+-----------------+--------------+
    | Name         | Engine | Version | Row_format | Rows  | Avg_row_length | Data_length | Max_data_length | Index_length |
    +--------------+--------+---------+------------+-------+----------------+-------------+-----------------+--------------+
    | my_table1    | InnoDB | 10      | Dynamic    | 10000 | 1024           | 10240000    | 0               | 8192000      |
    | my_table2    | MyISAM | 10      | Dynamic    | 20000 | 512            | 10240000    | 0               | 6144000      |
    | my_table3    | InnoDB | 10      | Dynamic    | 15000 | 768            | 12288000    | 0               | 7168000      |
    +--------------+--------+---------+------------+-------+----------------+-------------+-----------------+--------------+
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这个示例中,您可以看到每个表使用的存储引擎("Engine"列中的值),例如InnoDB或MyISAM。

    2. 使用命令行工具:

    另一种查看MySQL存储引擎的方法是使用MySQL的命令行工具。打开终端或命令提示符,然后执行以下命令:

    1. 连接到MySQL服务器:首先,使用MySQL客户端连接到MySQL服务器。您可以在终端中运行以下命令,然后输入MySQL服务器的用户名和密码:

      mysql -u your_username -p
      
      • 1

      替换 your_username 为您的用户名,然后按提示输入密码。

    2. 选择数据库:如果您要查看特定数据库的表的存储引擎,可以选择该数据库。例如,要选择名为your_database的数据库,可以运行:

      USE your_database;
      
      • 1
    3. 查看表的存储引擎:要查看表的存储引擎,可以使用SHOW TABLE STATUS命令,然后过滤您感兴趣的表。以下是一个示例:

      SHOW TABLE STATUS LIKE 'your_table';
      
      • 1

      替换 your_table 为您要查看的表名。如果要查看数据库中所有表的存储引擎,可以省略LIKE子句:

      SHOW TABLE STATUS;
      
      • 1
    4. 分析结果:执行上述命令后,您将获得一个包含表信息的结果集。在结果集中,可以查看Engine列,该列将显示表的存储引擎类型。

    例如,以下是一个示例结果集:

    +--------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
    | Name         | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Create_time     | Update_time         | Check_time          | Collation  | Checksum          | Create_options | Comment | Max_index_length | Temporary |
    +--------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
    | your_table   | InnoDB |      10 | Compact    |    3 |           5461 |       16384 |               0 |        16384 |  52428800 | 2022-01-01 ... | 2022-01-01 ...      | 2022-01-01 ...      | utf8mb4_...|   1234567890      |                |         |             768 | N       |
    +--------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+----------------+---------+
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在此示例中,your_table 表的存储引擎是 InnoDB。

    存储引擎类型

    MySQL支持多种存储引擎类型,每种引擎都有其特定的特性和用途。以下是一些常见的MySQL存储引擎类型:

    1. InnoDB: InnoDB是MySQL的默认存储引擎,它支持事务处理(ACID兼容)、行级锁定、外键约束等高级特性。InnoDB适用于大多数应用,特别是需要事务支持和数据完整性的应用。

    2. MyISAM: MyISAM是一种较早的存储引擎,不支持事务处理和外键约束,但在一些特定情况下具有高性能。MyISAM适用于只读或很少更新的应用,如数据仓库或日志文件。

    3. MEMORY(或HEAP): MEMORY引擎将表数据存储在内存中,因此读写速度非常快,但数据在服务器重启时会丢失。它适用于需要快速临时存储数据的情况,如缓存表。

    4. CSV: CSV引擎用于存储CSV格式的数据文件,支持读写CSV文件,但不支持索引和事务处理。

    5. ARCHIVE: ARCHIVE引擎用于存储大量历史数据,它对数据的压缩率很高,但只支持INSERT和SELECT操作,不支持UPDATE和DELETE。

    6. BLACKHOLE: BLACKHOLE引擎接收数据但不将其存储,用于复制数据到其他MySQL服务器。

    7. Federated(联合): FEDERATED引擎用于在多个MySQL服务器之间建立联合表,允许在不同服务器上查询和操作数据。

    8. NDB Cluster(NDB): NDB Cluster引擎用于MySQL集群(MySQL Cluster),它提供了高可用性和分布式存储功能,适用于需要实时数据复制和故障切换的应用。

    9. TokuDB: TokuDB引擎是一个高性能的存储引擎,特别适用于大规模的写入操作,如日志处理和分析。

    10. RocksDB: RocksDB是一个开源的存储引擎,基于Google的RocksDB项目,具有高性能和可扩展性,适用于大规模数据存储和分析。

    11. Spider: Spider引擎用于分布式查询,允许将数据分布在多个MySQL服务器上,并以透明方式进行查询。

    要选择合适的存储引擎,需要考虑应用的性能需求、数据完整性、事务处理要求以及数据访问模式等因素。不同的存储引擎适用于不同的用例,因此选择合适的引擎非常重要。可以根据具体的应用需求,在创建表时选择适当的存储引擎。

  • 相关阅读:
    指纹识别描述
    如何才能设计出“好的”测试用例?
    访问学者在加拿大游玩,有哪些名胜古迹?
    阅读DB-eaver22.20源码
    代码随想录二刷 day01 | 704. 二分查找 27. 移除元素 26.删除有序数组中的重复项 80. 删除有序数组中的重复项 II
    汽车电子 -- PCAN View 安装与使用
    leetCode 229. 多数元素 II + 摩尔投票法 + 进阶 + 优化空间
    《逆向工程核心原理》学习笔记(五):64位 & Windows 内核6
    根据面积均分球面 & c++示意代码
    【Kubernetes 系列】Kubernetes 创建K8s集群项目
  • 原文地址:https://blog.csdn.net/u011095039/article/details/132969896