mysql第一天表类型(存储引擎)的选择

[list]
[*][b]一、存储引擎的概念:[/b]
[/list]存储引擎是mysql的一个重要特性,它代表了数据库如何存储数据、索引数据、是否使用事务等。
利用mysql创建表的时候,如果不制定存储引擎,则使用默认的存储引擎(在mysql命令行中使用show variables like 'table_type'查看)。


[list]
[*][b]二、我们拿mysql5.1.37为例,介绍mysql的存储引擎[/b]
[/list]利用show engines \G或者show variables like 'have_'
查看当前版本的mysql支持的搜索引擎

我使用的mysql支持的存储引擎有:memory、federated、MyISAM、BlackHole、MRG_MyISAM、CSV、archive、InnoDB(我的mysql默认支持InnoDB)
其中只有InnoDB支持事务机制,其他存储引擎不支持事务。

我们创建表的时候可以指定存储引擎,
create table t1(id int(2) primary key,
name varchar(20)
) engine MyISAM default charset gbk;

也可以使用DDL修改表的存储引擎(表的类型)alter table t1 engine=InnoDB。
我们主要讲解实际开发中使用的存储引擎
1.InnoDB特点
(1)这种存储引擎把自动增加列(auto_increment)设置成索引,并且如果是组合索引必须是组合索引的第一列
(2)唯一支持外键的存储引擎(虽然外键不经常用)
(3)支持事务,插入效率不高,有频繁插入操作的表不要选择
2.MyISAM
(1)适合对数据完整性没有要求,有频繁查询和插入的表适合


[list]
[*][b]三、如何选择存储引擎[/b]
[/list]*MyISAM存储引擎的表进行表锁,如果应用是查询和插入为主,对事务完整性和并发性要求不是很高则使用这种模式
*InnoDB存储引擎的表进行hang锁,如果应用对数据完整性要求较高,并且删除和更新操作频繁适合这种模式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值