说明:
当我们创建表 “test”表时

CREATE TABLE test (
id INT(11) default NULL auto_increment, s char(60) default NULL, PRIMARY KEY(id) ENGINE=InnoDB;

一般情况这样没任何问题。但是,如果MySQL服务器配置中未启用InnoDB存储引擎。则在创建表 test 时,MySQL还是会自动选择默认的存储引擎MyISAM来创建test表。因为通过SHOW CREATE TABLE 表名 来查看表使用的mysql存储引擎是不准确的。

实例:
mysql服务器未启用InnoDB存储引擎;
库名:mytest;
表名:test(mytest.test);
帐号:root;
密码:mypassword;

列 “Engine” 下显示的值表示表正在使用的 MySQL 存储引擎。
1.确认 MySQL 服务器 是否启用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)

返回结果是:InnoDB对应的Support为NO,表示未启用InnoDB存储引擎。

2.创建表 “test”

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>

3.使用“SHOW CREATE TABLE 表名” 来查看,这种方式是不准确的

mysql> SHOW CREATE TABLE test;
+-------+----------------------------------------------------------------------------+ | Table | Create Table| +-------+----------------------------------------------------------------------------+ | test | CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `s` char(60) DEFAULT NULL, PRIMARY KEY (`id`) ENGINE=InnoDB DEFAULT CHARSET=latin1 | +-------+----------------------------------------------------------------------------+ 1 row in set (0.00 sec)

可以看到test表还是InnoDB引擎!!

4.使用SHOW TABLE STATUS from 数据库库名 where Name=’表名’;这是正确的方式

# mysql -uroot -p'mypassword'
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 221 Server version: 5.1.41-3ubuntu12.7 (Ubuntu) Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 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>

5.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 | +------------+--------+---------+------------+------+----------------+-------------+

最后:
可以看出,在未启用InnoDB存储引擎的情况下,我们发现4,5步返回的结果是正确的,列Engine为MyISAM而不是InnoDB存储引擎。而第3步使用 “SHOW CREATE TABLE 表名” 来查看表使用的mysql存储引擎是不准确的。

转载请注明:酷喃|coolnull| » 查看mysql当前表使用的存储引擎

http://coolnull.com/2759.html

转载于:https://www.cnblogs.com/softidea/p/5352923.html

查看mysql当前表使用的存储引擎(转)相关推荐

  1. MySQL的表类型和存储引擎

    MySQL的表类型由存储引擎(Storage Engines)决定,类型包括MyISAM.innoDB.BDB等. 常用的存储引擎 MySQL 数据表主要支持六种类型 ,分别是:BDB.HEAP.IS ...

  2. 数据库 MySQL 之 表操作、存储引擎

    数据库 MySQL 之 表操作.存储引擎 浏览目录 创建(复制) 删除 修改 查询 存储引擎介绍 一.创建(复制) 1.语法: 1 2 3 4 5 CREATE TABLE 表名(     字段名1 ...

  3. mysql存储引擎查看语句,在MySQL中,可以使用(??)语句查看MySQL服务器采用的默认存储引擎...

    在MySQL中,可以使用(??)语句查看MySQL服务器采用的默认存储引擎 答:SHOW VARIABLES; 名词解释:顾姑冠 答:蒙古族已婚妇女的首服,由帽子.冠体.披幅.系带.冠顶.羽毛五部分组 ...

  4. cmd查看mysql数据库表_cmd中查看MySQL数据库表数据及结构

    0. 1 .cmd进入mysql安装的bin目录(C:\Program Files\XXXXXX\MySQL Server 5.6\bin) mysql -hlocalhost -uroot -p 回 ...

  5. MySQL的MyISAM和InnoDB存储引擎表结构

    MySQL的MyISAM和InnoDB存储引擎表结构: MyISAM存储引擎: MyISAM表:每一个表都有3个文件,都位于数据库目录中. tb_name.frm 表结构定义 tb_name.MYD ...

  6. ruhr启动mysql数据库_Mysql表类型(存储引擎)的选择

    以下内容转载自:https://www.cnblogs.com/jswang/p/6923911.html 7.1 mysql存储引擎概述 插件式存储引擎是mysql数据库最重要的特性之一,用户可以根 ...

  7. MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)

    MySQL是我们经常使用的数据库处理系统(DBMS),不知小伙伴们有没有注意过其中的"存储引擎"(storage_engine)呢?有时候面试题中也会问道MySQL几种常用的存储引 ...

  8. MySQL学习笔记之五:存储引擎和查询缓存

    一.存储引擎 1.InnoDB ⑴InnoDB是基于聚簇索引建立的,基于主键索引查询时,性能较好:它的辅助索引中必须包含主键列:因此,若表上的索引较多,为节约空间,主键应尽可能小 ⑵InnoDB支持自 ...

  9. 数据库之Mysql索引、事务与存储引擎

    目录 1 MySQL索引 1.1 索引的概念 1.2 索引的作用 1.3 创建索引的原则依据 1.4 索引的分类和创建 普通索引 唯一索引 主键索引 组合索引(单列索引与多列索引) 全文索引(FULL ...

最新文章

  1. 微服务2017年度报告出炉:4大客户画像,15%传统企业已领跑
  2. 如何计算一年总共有多少周_余额宝1万一天收益多少?如何计算?
  3. 机器学习碎碎念:霍夫丁不等式
  4. 如果战斗机飞行员弹出,自动驾驶仪会接管飞机安全降落么?
  5. Atitit (Sketch Filter)素描滤镜的实现  图像处理  attilax总结v2
  6. ios刻录软件_好用免费的剪辑软件神器可以剪辑、导出,让大家都变成为大师级!...
  7. 线性代数matlab的心得体会,关于线性代数心得体会
  8. Mac 下运行 xxx.sh 脚本文件
  9. apt-get指令的autoclean,clean,autoremove的区别
  10. NVIDIA驱动安装(arm64平台可用)
  11. 面试一个应届生,从不起眼到令人刮目相看
  12. 打开服务器网页要5秒,网页优化技巧 如何把网页加载时间控制在1.5秒以内
  13. 树莓派3B+安装JupyterLab
  14. 为麦芒新机渲染图曝光:疑似后置奥利奥三摄
  15. w7怎么备份服务器上的文件夹,教你在Windows7系统中自动备份指定文件夹
  16. 虚拟网卡不能用,物理机没有VMnet1、VMnet8(VMware)
  17. C语言之函数(作业:杨辉三角形)
  18. ELK日志分析平台(三)— kibana数据可视化、kibana监控、采集日志插件filebeat
  19. 【 ICLR 2022】MoleR: Learning to Extend Molecular Scaffolds with Structural Motifs
  20. PDF杂谈一 PDF对象流

热门文章

  1. seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  2. 基于协同训练的半监督文本分类算法
  3. Corosync Pacemaker 高可用 Mariadb
  4. iOS网络 POST模拟表单上传单个与多个文件(直接调用分类里的方法即可)
  5. 样条之连分式插值函数
  6. Centos 6 安装 配置 oracle11g R2
  7. Linux流量监控工具 - iftop用法
  8. 苹果应用开发架构及项目结构
  9. python 日历_python中的日历和时间
  10. python基础:细节问题梳理