mysql进阶

Posted 懒企鹅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql进阶相关的知识,希望对你有一定的参考价值。

存储引擎

以下数据基于mysql5.6

Innodb

Innodb是默认存储引擎,当然在创建表的时候可以显式指定

create table tb_innodb (id int(11),name varchar(32),age tinyint,primary key auto_increment (id)) engine=innodb;
mysql [mysql_data]> show create table tb_innodb;
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table     | Create Table                                                                                                                                                                                  |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_innodb | CREATE TABLE `tb_innodb` (
  `id` int(11) NOT NULL DEFAULT \'0\',
  `name` varchar(32) DEFAULT NULL,
  `age` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

创建表后,会在data目录下生成文件:

tb_innodb.frm  tb_innodb.ibd 

其中:.frm 表定义文件, .ibd 数据文件

Myisam

create table tb_myisam (id int(11),name varchar(32),age tinyint,primary key auto_increment (id)) engine=myisam;
MySQL [mysql_data]> show create table tb_myisam;
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table     | Create Table                                                                                                                                                                                  |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tb_myisam | CREATE TABLE `tb_myisam` (
  `id` int(11) NOT NULL DEFAULT \'0\',
  `name` varchar(32) DEFAULT NULL,
  `age` tinyint(4) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

创建表后,会在data目录下生成文件:

tb_myisam.frm  tb_myisam.MYD  tb_myisam.MYI

其中:.frm 表定义文件 ,.ibd 数据文件 ,.myi 索引文件

对比

架构图

索引

以上是关于mysql进阶的主要内容,如果未能解决你的问题,请参考以下文章