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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

 mysql支持多种存储引擎,在处理不同类型的应用时,可以通过选择使用不同的存储引擎提高应用的效率,或者提供灵活的存储。

 mysql的存储引擎包括:MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其它存储引擎都是非事务安全表。

 查看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>

















本文转自月魔zhi蕾51CTO博客,原文链接: http://blog.51cto.com/308107405/1349447  ,如需转载请自行联系原作者
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
143
分享
相关文章
【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题
**简介**:在MySQL迁移到崖山环境时,若字段类型为char(2),而应用存储的数据仅为'0'或'1',查询时崖山会自动补空格。原因是mysql的sql_mode可能启用了PAD_CHAR_TO_FULL_LENGTH模式,导致保留CHAR类型尾随空格。解决方法是与应用确认数据需求,可将崖山环境中的char类型改为varchar类型以规避补空格问题,适用于所有版本。
【YashanDB知识库】崖山BIT类型对MYSQL兼容问题
【YashanDB知识库】崖山BIT类型对MYSQL兼容问题
MySQL索引有哪些类型?
● 普通索引:最基本的索引,没有任何限制。 ● 唯一索引:索引列的值必须唯一,但可以有空值。可以创建组合索引,则列值的组合必须唯一。 ● 主键索引:是特殊的唯一索引,不可以有空值,且表中只存在一个该值。 ● 组合索引:多列值组成一个索引,用于组合搜索,效率高于索引合并。 ● 全文索引:对文本的内容进行分词,进行搜索。
MYSQL支持的存储引擎有哪些, 有什么区别
MYSQL存储引擎有很多, 常用的就二种 : MyISAM和InnerDB , 者两种存储引擎的区别 ; ● MyISAM支持256TB的数据存储 , InnerDB只支持64TB的数据存储 ● MyISAM 不支持事务 , InnerDB支持事务 ● MyISAM 不支持外键 , InnerDB支持外键
mysql bit对gorm使用何种类型?
在GORM中使用MySQL的BIT类型时,通常使用 `bool`类型来处理BIT(1),使用 `[]byte`类型来处理BIT(N)(N > 1)。通过正确的类型映射和位操作,可以高效地处理位字段数据。确保在定义结构体字段时,明确指定字段类型,以便GORM能够正确地处理数据库交互。
69 18
【YashanDB 知识库】MySQL 迁移至崖山 char 类型数据自动补空格问题
问题分类】功能使用 【关键字】char,char(1) 【问题描述】MySQL 迁移至崖山环境,字段类型源端和目标端都为 char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格 【问题原因分析】mysql 有 sql_mode 控制,检查是否启用了 PAD_CHAR_TO_FULL_LENGTH SQL 模式。如果启用了这个模式,MySQL 才会保留 CHAR 类型字段的尾随空格,默认没有启动。 #查看sql_mode mysql> SHOW VARIABLES LIKE 'sql_mode'; 【解决/规避方法】与应用确认存储的数据,正确定义数据
【MySQL进阶篇】存储引擎(MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案)
MySQL的存储引擎是其核心组件之一,负责数据的存储、索引和检索。不同的存储引擎具有不同的功能和特性,可以根据业务需求 选择合适的引擎。本文详细介绍了MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案。
【MySQL进阶篇】存储引擎(MySQL体系结构、InnoDB、MyISAM、Memory区别及特点、存储引擎的选择方案)
MySQL存储引擎详述:InnoDB为何胜出?
MySQL 是最流行的开源关系型数据库之一,其存储引擎设计是其高效灵活的关键。InnoDB 作为默认存储引擎,支持事务、行级锁和外键约束,适用于高并发读写和数据完整性要求高的场景;而 MyISAM 不支持事务,适合读密集且对事务要求不高的应用。根据不同需求选择合适的存储引擎至关重要,官方推荐大多数场景使用 InnoDB。
109 7
mysql怎么查询longblob类型数据的大小
通过本文的介绍,希望您能深入理解如何查询MySQL中 `LONG BLOB`类型数据的大小,并结合优化技术提升查询性能,以满足实际业务需求。
254 6
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
105 8

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等