02-MySQL数据库

作者: 紫荆秋雪_文 | 来源:发表于2021-05-06 13:56 被阅读0次

一、MySQL三大范式

MySQL的三大范式能够规范开发人员对数据表的设计,使得开发人员能够设计出简洁、优雅的数据表结构

1.1、第一范式

第一范式主要是确保数据表中每个字段的值必须具有原子性,也就是说数据表中每个字段的值为不可再次拆分的最小数据单元

1.2、第二范式

第二范式是指在第一范式的基础上,确保数据表中除了主键之外的每个字段都必须依赖主键。

1.3、第三范式

第三范式是在第二范式的基础上,确保数据表中的每一列都和主键字段直接相关,也就是说,要求数据表中的所有非主键字段不能依赖其他非主键字段

1.4、反范式化

如果数据库中的数据量比较大,系统的UV和PV访问频次比较高,则完全按照MySQL的三大范式设计数据表,读数据时会产生大量的关联查询,在一定程度上会影响数据库的读性能。此时,可以通过在数据表中增加冗余字段来提高数据库的读性能

二、MySQL存储引擎

存储引擎在MySQL底层以组件的形式提供,不同的存储引擎提供的存储机制、索引的存放方式和锁粒度等不同

2.1、查看MySQL中的存储引擎

SHOW ENGINES
查看MySQL中的存储引擎.png

2.2、常用存储引擎

2.2.1、InnoDB存储引擎

  • 1、支持事务
  • 2、锁级别为行锁,比 MyISAM 存储引擎支持更高的并发
  • 3、能够通过二进制日志恢复数据
  • 4、支持外键操作
  • 5、在索引存储上,索引和数据存储在同一个文件中,默认按照B+Tree组织索引的结构。同时,主键索引的叶子节点存储完整的数据记录,非主键索引的叶子节点存储主键的值
  • 6、在 MySQL5.6版本之后,默认使用 InnoDB存储引擎
  • 7、在 MySQL5.6版本之后,InnoDB存储引擎支持全文索引

2.2.2、MyISAM存储引擎

  • 1、不支持事务
  • 2、锁级别为表锁,在要求高并发的场景下不太适用
  • 3、如果数据文件损坏,难以恢复数据
  • 4、不支持外键
  • 5、在索引存储上,索引文件与数据文件分离
  • 6、支持全文索引

2.2.3、MEMORY存储引擎

  • 1、不支持TEXT和BLOB数据类型,只支持固定长度的字符串类型。如,在memory存储引擎中,会将varchar类型自动转化成char类型
  • 2、锁级别为表锁,在高并发场景下会成为瓶颈
  • 3、通常会被作为临时表使用,存储查询数据时产生中间结果
  • 4、数据存储在内存中,重启服务器后数据会丢失。如果是需要持久化的数据,不适合存储在memory存储引擎的数据表中

2.2.4、ARCHIVE存储引擎

  • 1、支持数据压缩,在存储数据前会对数据进行压缩处理,适合存储归档的数据
  • 2、只支持数据的插入和查询,插入数据后,不能对数据进行更改和删除,而只能查询
  • 3、只支持在整数自增类型的字段上添加索引

2.2.5、CSV存储引擎

  • 1、主要存储的是.csv格式的文本数据,可以直接打开存储的文件进行编辑
  • 2、可以将MySQL中某个数据表中的数据直接导出为.csv文件,也可以将.csv文件导入数据表中

2.2.6、MySQL 官方文档

2.2.7、InnoDB 官方文档

相关文章

  • 02-MySQL数据库

    一、MySQL三大范式 MySQL的三大范式能够规范开发人员对数据表的设计,使得开发人员能够设计出简洁、优雅的数据...

  • 02-MySQL的安装与配置

    title: 02-MySQL的安装与配置time: 2019/08/11tags:- Database- MyS...

  • 02-mysql数据库的安装使用

    1.安装过程: 全程下一步(mac-5.7.24)参考链接:https://www.cnblogs.com/xuy...

  • 02-MySQL

    我去饿

  • 02-MySQL安装

    Step1 MySQL数据库的安装 Step2 验证安装 Step3 设置MySQL允许远程访问 编辑mysql配...

  • 02-MySQL(下)

    一、数据库操作 3.DQL 3.7分组查询 group by:分组查询 将字段中相同值归为一组having:...

  • 02-MySQL索引

    1.索引的作用 保持数据完整性 优化数据访问性能 改进表的连接(join)操作 对结果进行排序 简化聚合数据操作 ...

  • 02-MySQL基础管理

    1. 用户管理 1.作用 登录管理对象 2.长成什么样? 1.用户名@'白名单' 用户名:不要太长 , 和业务有...

  • MySQL数据库day01

    系统数据库 ​​​ 创建数据库 ​​​ ​​​ ​​​ ​​​ 查看所有数据库 使用数据库 修改数据库 删除数据库...

  • 数据库操作

    创建数据库: 选择数据库: 查看数据库: 修改数据库: 删除数据库:

网友评论

    本文标题:02-MySQL数据库

    本文链接:https://www.haomeiwen.com/subject/xrgrdltx.html