程序员之路:MySQL存储引擎

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 程序员之路:MySQL存储引擎

存储引擎

MySQL可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎

每一种存储引擎使用不同的存储机制,索引技巧,锁定水平,最终提供广泛且不同的功能


MySQL支持的存储引擎

MyISAM、InnoDB、Memory、CSV、Archive

image.png


并发控制

当多个连接对记录进行修改时保证数据的一致性和完整性。系统使用锁系统来解决这个并发控制,这种锁分为:


共享锁(读锁):在同一时间内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化。

排他锁(写锁):在任何时候只能有一个用户写入资源,当进行写锁时会阻塞其他的读锁或者写锁操作。


锁的力度(锁的颗粒:锁定时的单位):

表锁,是一种开销最小的锁策略。得到数据表的写锁(禁止其他用户进行读写,只能有一个锁)

行锁,是一种开销最大的锁策略。并行性最大(有多少条记录,就有可能对每条记录都进行锁)

表锁的开销最小,因为使用锁的个数最小,行锁的开销最大,因为可能使用锁的个数比较多


事务

image.png

事务的特 性

原子性(Atomicity)

一致性(Consistency)

隔离性(Isolation)

持久性(Durability)


外键

保证数据一致性的策略


索引

是对数据表中一列或多列的值进行排序的一种结构


修改存储引擎的方法

(1)通过修改MySQL配置文件实现

default-storage-engine=INNODB


(2)通过创建数据表命令实现

CREATE TABLE table_name(

...

...

)

ENGINE = engine;


(3)通过修改数据表命令实现

ALTER TABLE table_name ENGINE [=] engine_name;


主要知识点

MyISAM:存储限制可达256TB,支持索引,表级锁定,数据压缩

InnoDB:存储限制为64TB,支持事务和索引,锁颗粒为行锁

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
存储 缓存 关系型数据库
MySQL 存储引擎
MySQL 存储引擎
27 6
|
2月前
|
存储 缓存 关系型数据库
Mysql的两种存储引擎以及区别
Mysql的两种存储引擎以及区别
17 1
|
2月前
|
存储 关系型数据库 MySQL
Mysql第七天,存储引擎
Mysql第七天,存储引擎
61 0
Mysql第七天,存储引擎
|
2月前
|
存储 关系型数据库 MySQL
【MySQL 数据库】5、存储引擎
【MySQL 数据库】5、存储引擎
120 0
|
2月前
|
存储 关系型数据库 MySQL
最全MySQL面试60题(含答案):存储引擎+数据库锁+索引+SQL优化等
最全MySQL面试60题(含答案):存储引擎+数据库锁+索引+SQL优化等
194 0
|
4月前
|
存储 SQL 关系型数据库
Mysql系列-4.Mysql存储引擎-InnoDB(下)
Mysql系列-4.Mysql存储引擎-InnoDB
49 0
|
3月前
|
存储 缓存 关系型数据库
MySQL - 存储引擎MyISAM和Innodb
MySQL - 存储引擎MyISAM和Innodb
|
2月前
|
存储 缓存 关系型数据库
MySQL两种存储引擎及区别
MySQL两种存储引擎及区别
26 4
MySQL两种存储引擎及区别
|
7天前
|
存储 SQL 关系型数据库
Mysqlslap性能测试MySQL三种存储引擎
Mysqlslap性能测试MySQL三种存储引擎
|
22天前
|
存储 缓存 关系型数据库
mysql存储引擎
mysql存储引擎