mysql存储引擎(总结笔记)

mysql存储引擎的基本介绍

引擎(Engine)是电子平台上开发程序或系统的核心组件。利用引擎,开发者可迅速建立、铺设程序所需的功能,或利用其辅助程序的运转。一般而言,引擎是一个程序或一套系统的支持部分。常见的程序引擎有游戏引擎,搜索引擎,杀毒引擎等。

mysql的表可以有不同的存储引擎,分为两大类:

  1. 事务安全性存储引擎
    BDB,InnoDB
  2. 非事务安全性存储引擎
    Myisam, memory
  3. 查看存储引擎
show engines;

在这里插入图片描述

常用数据存储引擎的比较区别(面试多问)

在这里插入图片描述

(1) MyISAM的存储引擎的介绍

  1. 执行速度快.
  2. 不支持事务,不支持外键
  3. 会产生碎片,需要定时进行optimize table 表名[]
    在这里插入图片描述
  4. 如果我们的表不需要事务,则考虑使用MyISAM

MyISAM:插入数据快,空间和内存使用比较低,搜索查询。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比 较低也可以使用。(表锁,全文搜索 )

(2) InnoDB存储引擎【推荐,高并发】
6. 并发性好.
7. 支持事务,支持外键
8. 适合数据修改或者添加的系统

InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。行锁

(3) Memory 存储引擎

  1. 数据在内存中
  2. 执行速度快.
  3. 当重启mysql后,数据丢失了/表结构还在.
  4. memory 表,可以优化项目,可以存放经常查询或者变化的数据,而且这些数据不需要入库,比如(用户的状态[离线,在线,发呆]) .
    在这里插入图片描述

MEMORY:所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表

总结
1,同一个数据库也可以使用多种存储引擎的表。
2,如果一个表要求比较高的事务处理,即高并发情况下[在短时间内处理大量请求]使用InnoDB会比较好。
3,这个数据库中可以将查询要求比较高的表选择MyISAM存储,如果是删除的话,myisam会删除比较快,innodb会一行一行删除。
4,如果该数据库需要一个用于查询的临时表,需要使用大量的查询语句[不限定时间来执行],尤其是不使用select * 的情况下,myisam会比较好,适合于中小型网站。

如何修改表的存储引擎

ALTER TABLE  `表名`  ENGINE = 储存引擎;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想想了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值