数据库
文章平均质量分 95
OYMN
不问过去,不惧将来
展开
-
Mysql详解——InnoDB的数据存储结构
更多关于数据库的知识可点击我的主页哦文章目录一、InnoDB数据存储结构1. 数据库的存储结构:页1.1 磁盘和内存交互的基本单位:页1.2 页的上层结构2. 页的内部结构2.1 文件头和文件尾(1)文件头:(2)文件尾:2.2 用户记录、最大最小记录、空闲空间行格式的记录头信息:最大最小记录:2.3 页目录、页头(1)页目录:(2)页头:3. 行格式3.1 Compact变长字段长度列表NULL值列表记录头信息:记录的真实数据:3.2 Dynamic和Compressed行溢出:3.3 Redundan原创 2022-04-27 11:22:02 · 662 阅读 · 0 评论 -
Mysql详解——索引优化
本篇文章是对Mysql索引的创建以及优化进行一个介绍,关于索引的底层原理可以看我另一篇文章:Mysql详解——索引详解文章目录一、索引的创建和设计原则1. 索引的声明和使用1.1 索引的分类:1.2 索引的创建:在创建表时创建索引:在已经存在的表上创建索引:1.3 索引的删除:2. MySQL8.0中索引新特性2.1 支持降序索引2.2 支持隐藏索引3. 索引的设计原则3.1 数据准备:3.2 哪些情况适合创建索引1. 字段值有唯一性的限制2. 频繁作为WHERE查询条件的字段3. 经常GROUP BY和原创 2022-04-26 21:02:25 · 3695 阅读 · 1 评论 -
Mysql详解——索引详解
文章目录一、索引1. 索引的介绍优点:缺点:2. InnoDB中索引的推演2.1 没有索引之前的查找在一页中查找:在很多页中查找:2.2 索引的设计1. 一个简单的索引设计方案2. InnoDB中的索引方案:**(1)第一次迭代** :目录项记录的页(2)第二次迭代:多个目录项记录的页(3)第三次迭代:目录项记录的目录页(4)B+Tree:2.3 常见索引概念:1. 聚簇索引:2. 非聚簇索引:3. 联合索引:2.4 InnoDB的B+树的补充说明:1. 根页面位置往年不动2. 内节点中目录项记录的唯一性3原创 2022-04-26 20:45:09 · 1825 阅读 · 3 评论 -
Mysql详解——范式
文章目录一、数据库的设计规范1. 范式1.1 第一范式1.2 第二范式1.3 第三范式1.4 小结2. 反范式化3. 巴斯范式4. 第四范式5. 第五范式一、数据库的设计规范1. 范式在关系型数据库中,关于数据库表设计的基本原则,规则被称为范式,范式的英文名称为Normal Form,简称NF。要想设计一个合理的关系型数据库,就需要满足一定的范式。目前关系型数据库有六种常见范式,按照范式级别,从低到高有:第一范式(1NF),第二范式(2NF),第三范式(3NF),巴斯科德范式(BCNF),第四范式(原创 2022-04-26 20:34:07 · 4792 阅读 · 2 评论 -
Mysql详解——事务与日志
一、事务基本知识1. 事务基本概述1.1 存储引擎支持情况通过 SHOW ENGINES 命令来查看MySQL支持的存储引擎有哪些,以及这些存储引擎是否支持事务。从下图可知,在MySQL中只有InnoDB支持事务。1.2 基本概念事务:一组操作逻辑单元,使数据从一个状态变为另一个状态。事务执行的原则:保证事务中的操作作为一个工作单元来完成,要么整个事务被提交,要么放弃所有的修改,回滚到最初的状态。1.3 事务的ACID特性原子性(atomicity):原子性指事务是不可分割的工作单原创 2022-04-24 09:59:19 · 2135 阅读 · 1 评论 -
01 基础架构:一条SQL语句是如何被执行的?
很多时候,我们对于数据库的使用,仅仅停留在输入一条mysql语句,返回一个结果集,却不知道这条语句在MYSQL内部是怎么实现的,所以本篇将介绍MYSQL最基本的架构组成,通过对MYSQL的拆解,使得我们对MYSQL能有一个更好的认识。 下图是MYSQL的基本架构示意图: 大体来说,MYSQL可以分为 Server层 和 存储引擎层 两部分。 Server层包括连接器,查询缓存,分析器,优化器,执行器等,涵盖了MySQl大部分核心服务功能,以及所有的内置函数(如日期,时间,数学和加密函数)。原创 2021-05-18 20:25:29 · 185 阅读 · 1 评论