数据库存储引擎

存储引擎的概念

·Mysql中数据用各种不同的技术存储在文件中,每一种技术都是用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套功能在Mysql中称为存储引擎
·存储引擎是Mysql将数据存储在文件系统中的存储方式或格式
·MYsql常用存储引擎:MyLSAM、LnnoDB

案例前置知识点

MYsql逻辑架构图
在这里插入图片描述
·客户端和连接服务
·核心服务功能
·存储引擎层
·数据储存层

MYISAM介绍

·不支持事务,也不支持外键
·访问速度快
·对事务完整性没要去
·MyISAM在磁盘上存储成三个文件
.frm文件存储表定义
数据文件扩展名为.MYD(MYData)
索引文件扩展名是.MYI(MYIndex)
索引存放位置 vi info.ibd
定义字符集 db.opt
表级锁定形式,数据在更新时锁定整个表
数据库在读写过程中相互阻塞
会在数据写入过程中阻塞用户读取
也会在读取过程中阻塞写入
数据单独写入读取,速度过程快占用资源少
myiam支持存储格式
静态表
动态表
压缩表

MyISAM适用的环境

·公司业务不需要事务的支持
·单方面读取或写入数据比较多的业务
·MyISAM存储引擎数据读写都比较频繁场景不合适
·使用读写并发访问相对较低的业务
·修改数据相对较少的业务
·对数据业务一致性要求不高的业务
·服务器硬件差

InnoDB特点介绍

·支持4个事务隔离级别
·行级锁定,但是全表扫描仍然会是表级锁定
·读写阻塞与事务隔离级别相关
·能非常高效的缓存索引和数据
·表与主键以簇方式存储
·支持分区、表空间,类似oracle数据库
·支持外键约束,5.5之前不支持全文,后支持全文索引
·对硬件要求还是比较高的场合

InnoDB适用场景

·业务需要事务支持
·行级锁定对高并发有很好的适应能力,但需要确保查询通过索引来完成
·业务数据更新较为频繁的场合
·业务数据一致性要求较高
·硬件设备内存较大,利用Innodb较好的缓存能力来提高内存利用率,减少磁盘IO压力

企业选择存储引擎的依据

·需要考虑每个存储引擎提供核心功能及应用场景
·支持字段和数据类型
所有引擎都支持通用数据类型
但不是所有引擎都支持其他字段类型,如二进制
锁定类型:不同于存储引擎支持不同级别锁定
表锁定
行锁定

修改存储引擎

方法一:alter table 修改

alter table_name engine=引擎;

方法二:修改my.cnf,指定默认存储引擎并重启服务

default-storage-engine=LnnoDB

方法三:create table创建时指定引擎

create table 表名 (字段) engine =引擎
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值