1. 程式人生 > >mysql進階

mysql進階

HA varchar nod mysq eat gin 進階 prim 5.6

存儲引擎

以下數據基於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進階