Mysql存储引擎

简介

存储引擎就是指表的类型以及表在计算机上的存储方式。是mysql独有的,其中oracle是没有的

分类:

InnoDB,MyISAM,MEMORY

SHOW ENGINES

查看数据库的存储引擎          数据库默认引擎配置文件my.ini

1.Savepoints: 是否支持save point的事务点操作.

2.support: MySQL是否支持存储引擎,YES支持,NO不支持,Default默认使用的存储引擎.

3.Transactions: 是否支持事务      4.Comment: 注释     5.XA: 是否支持分布式

InnoDB默认

特点

支持事务处理以及Savepoints,同时对于数据库的崩溃具有修复能力,

行级锁定:MyISAM只支持表锁,InnoDB可支持行锁;InnoDB在并发量高时,性能比较优异,但容易死锁,基于索引

支持外键;父表中只有主键可以被字表外键关联,且更新具有一致性,但大数据情况下不建议使用外键。

支持AUTO_INCREMENT;自动增长列的值不能为空,并且值必须唯一,且必须为主键。

优缺点

缺点是读写效率较差,占用的数据空间相对较大。

适用于事务完整性比较高,更新删除比较频繁的操作;

实例

InnoDb引擎的mysql:表t_user ;  uid为唯一索引,无其他索引

update t_user set age=10 where uid=1;           命中索引,行锁。

update t_user set age=10 where uid != 1;           未命中索引,表锁。

update t_user set age=10 where name='shenjian';           无索引,表锁。

行级锁并不是直接锁记录,而是锁索引;

如果SQL语句用到了主键索引,mysql会锁住主键索引;

如果一条语句操作了非主键索引,mysql会先锁住非主键索引,再锁定主键索引。

 

MyISAM

特点

适用于以读取插入为主,对于并发要求比较低的情况     表锁

优势在于插入读取速度快。缺点是不支持事务的完整性和并发性。

存在了表共享读锁和表独占写锁两种特点,即读读可并发,写写以及写读会阻塞

MEMORY

特点

采用哈希索引的方式,在内存中创建表,执行速度快,但是数据没有保障,比如开关机会导致数据丢失

适用于要求读写速度快,数据安全要求性低,同时单表的数据量比较小的情况。    表锁

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值