MySQL存储引擎

14 篇文章 0 订阅
9 篇文章 0 订阅

到p40
概念:

  • 和大多数的数据库不同, MySQL中有一个存储引擎的概念, 针对不同的存储需求可以选择最优的存储引擎。

  • 存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式 。存储引擎是基于表的,而不是基于库的,即相同的数据库不同的表可以选择不同的存储引擎。所以存储引擎也可被称为表类型。在建表时可以定义存储引擎。

  • Oracle,SqlServer等数据库只有一种存储引擎。MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应引擎,或者编写存储引擎。

  • MySQL5.0支持的存储引擎包含 : InnoDB 、MyISAM 、BDB、MEMORY、MERGE、EXAMPLE、NDB Cluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎是非事务安全表。

  • 可以通过指定 show engines; , 来查询当前数据库支持的存储引擎 :
    在这里插入图片描述

  • 创建新表时如果不指定存储引擎,那么系统就会使用默认的存储引擎,MySQL5.1之前的默认存储引擎是MyISAM5.1之后就改为了InnoDB。

  • 结合此链接学习


各存储引擎特点:
在这里插入图片描述
MyISAM与InnoDB

区别:

  • InnoDB支持外键,MyISAM不支持。
  • InnoDB支持事务,MyISAM不支持。
  • InnoDB为行锁,写操作时只是锁住操作的那一行,其他事务不能对当前行进行写操作,其他适合高并发,但存在死锁可能。MyISAM为表锁,即使操作一条记录也会锁住整张表,不适合高并发,不存在死锁可能。
  • InnoDB不仅仅缓存索引,还会缓存真实数据。MyISAM只缓存索引,不会缓存真实数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值