12. InnoDB引擎 InnoDB引擎 逻辑存储结构 表空间(ibd文件):一个MySQL实例可以对应多个表空间,用于存储记录、索引等数据。 段:分为数据段(Leaf node segment)、索引段(Non-leaf node segment)、回滚段(Rollback segment),InnoDB是索引组织表,数据段就是B+树的叶子结点,索引段就是B+树的非叶子结点。段用来当管理多个Extent( 2024-11-27 后端开发 > MySQL #MySQL
11. 锁 五、锁 1. 概述 介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。 分类 MySQL中的锁,按照锁的粒度分 2024-11-27 后端开发 > MySQL #MySQL
10. 视图/存储过程/触发器 1. 视图 视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。 通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。 1.1 创建视图 1234CREATE [ OR REPLACE ] VIEW 视图名称[(列名列 2024-11-27 后端开发 > MySQL #MySQL
9. SQL优化 1. 插入数据 普通插入: 采用批量插入(一次插入的数据不建议超过1000条,500 - 1000 为宜) 手动提交事务 多条插入语句统一提交 主键顺序插入(主键顺序插入的效率大于乱序插入) 大批量插入: 如果一次性需要插入大批量数据,使用insert语句插入性能较低,此时可以使用MySQL数据库提供的load指令插入。 1234567# 客户端连接服务端时 2024-11-27 后端开发 > MySQL #MySQL
8. 索引 1. 索引概述 索引是帮助 MySQL 高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查询算法,这种数据结构就是索引。 优点: 提高数据检索效率,降低数据库的IO成本 通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗 缺点: 2024-11-27 后端开发 > MySQL #MySQL
进阶篇 - 7. 存储引擎 存储引擎 1. MySQL体系结构: 连接层 最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限。 服务层 第二层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化,部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。 2024-11-27 后端开发 > MySQL #MySQL
6. 数据类型 6. 数据类型 1. 整型 类型名称 取值范围 大小 TINYINT -128〜127 1个字节 SMALLINT -32768〜32767 2个宇节 MEDIUMINT -8388608〜8388607 3个字节 INT (INTEGHR) -2147483648〜2147483647 4个字节 BIG 2024-11-26 后端开发 > MySQL #MySQL
5. 事务 5. 事务 事务是一组操作的集合,事务会把所有操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 5.1 基本操作: 1234567891011121314151617181920212223242526272829303132create table account( id int auto_increment primary key commen 2024-11-26 后端开发 > MySQL #MySQL
4. 多表查询 4. 多表查询 1. 多表关系 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种: 一对多(多对一) 多对多 一对一 1.1 一对多 案例:部门与员工 关系:一个部门对应多个员工,一个员工对应一个部门 实现:在多的一方建立外键,指向一的一方的主键 2024-11-26 后端开发 > MySQL #MySQL
3. 约束 3. 约束 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 目的:保证数据库中数据的正确、有效性和完整性。 分类: 约束 描述 关键字 非空约束 限制该字段的数据不能为null NOT NULL 唯一约束 保证该字段的所有数据都是唯一、不重复的 UNIQUE 主键约束 主键是一行数据的唯一标识,要求 2024-11-26 后端开发 > MySQL #MySQL