本篇内容包括:MySQL锁、MySQL MVCC概述以及MySQL Mvcc实现三大要素一、MySQL锁数据库的锁是为了解决事务的隔离性问题,为了让事务之间相互不影响,每个事务进行操作的时候都会对数据加上一把特有的锁,防止其他事务同时操作数据。如果你想一个人静一静,不被别人打扰,那么请在你的房门上加上一把锁。数据库里面的锁是基于索引实现的,在Innodb中我 ......
346
0
0
2022-12-19
本篇内容包括:MySQL 事务概念、MySQL 事务隔离级别以及MySQL 事务隔离的实现一、MySQL 事务概念一般来说, MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有 ......
342
0
0
2022-12-19
本篇内容包括:MySQL 引擎简介、InnoDB与MyISAM存储引擎之间的比较以及其他常用引擎。一、MySQL 引擎简介存储引擎是数据库的核心,MySQL的存储引擎架构被设计为可插拔式架构模式,也就是在不影响任何业务逻辑的情况下,我们可以随时替换当前的存储引擎,以达到以存储和性能方面的需求。MySQL的Server层与存储引擎层通过MySQL服务器提供统一 ......
358
0
0
2022-12-19
本篇内容包括:MySQL 索引的概述 、索引的数据结构、索引的分类、索引的失效以及索引的设计原则一、MySQL 索引的概述1、什么是索引在关系数据库中,索引是一种数据结构,为存储引擎提高访问速度的数据结构,它一般是以包含索引键值和一个指向索引键值对应数据记录物理地址的指针的节点的集合的清单的形式存在。索引的作用:数据是存储在磁盘上的,查询数据时,如果没有索引 ......
360
0
0
2022-12-19
🙋‍ 哈喽大家好,本次是MySQL数据库原理系列第六期 ⭐本期是MySQL的数据类型 🏆系列专栏:MySQL数据库 😄笔者还是前端的菜鸟,还请大家多多指教呀~ 👍欢迎大佬指正,一起学习,一起加油!文章目录前言🍎数字类型🍒整数类型为字段设置零填充(ZEROFILL)🍒浮点数类型🍒定点数类型🍒BIT类型🍒如何选择数据类型🍎时间和日期类型🍒YEAR类型🍒DATE类 ......
464
0
0
2022-12-18
MySQL数据库原理哈喽大家好~ 这里是MYSQL数据库原理学习笔记第一期 本期内容——数据库基础知识 欢迎大佬指正,一起学习,一起加油~文章目录MySQL数据库原理前言一、数据库概述数据库定义数据库数据库管理系统数据库应用程序二、数据库技术的发展数据库系统阶段的特点三、三级模式和二级映像三级模式二级映像四、数据模型数据建模概念模型的术语关系模型关系模型的完 ......
327
0
0
2022-12-18
索引的分类索引该如何添加索引虽然是个可以提高查询效率的好东西,但是吗世间万物自然有好有坏,索引有索引的好处,自然就会有其不完美的地方,建立索引之后,MySQL除了维护数据文件之外自然又多了一份维护索引文件的任务,如果数据频繁的变动,维护两份索引文件的MySQL自然是有些招架不住。反馈的效率自然就会慢于没有索引的时候,索引文件自然是要有它落盘的地方,所以就要占 ......
351
0
0
2022-12-17
概述想必下面的树形菜单大家都见过,但是是如何实现的,你们有没有想过?说下我是怎么想起设计这个东西的,在一个惠风和畅,风和日丽的午后,我盯着眼前已完成的项目陷入沉思,良久,我将树形菜单的每一级菜单都设计成为了单独的表,正准备写接口将所有的菜单都返回的时候,带我的哥哥给我讲了一遍树形菜单的结构与数据库如何设计,我又再一次陷入了沉思,现在反思一下可能是当时脑子很乱 ......
551
0
0
2022-12-17
日复一日年复一年,伴随着我们系统稳定运行的一定还有日益增长的数据量,当然本次我们只来讨论我们的关系型数据库——MySQL中的数据量,如果我们的MySQL从上线之后没有进行过任何优化,数据量上去了之后,SQL的查询时间必然会越来越久,久而久之的自然会奔溃而拖垮整个系统,所以既然数据量上去了,我们程序员的本事也要跟着涨一涨了,涨知识之前先来回忆一下我们日常工作中 ......
396
0
0
2022-12-17
索引 我们对索引这个名词最早的认知应该来自初学任何一门程序设计语言时 的数组吧,数组的下标即是索引,索引有什么用?我们的计算机没有想 像的那么聪明,cpu在查找数据是你如果不指定方式他只会从头到尾依次 遍历,有了索引之后我们就可以对Cpu进行优雅的指挥啦。快速定位,提 升效率!MySQL中的索引 MySQL的定位为数据库,数据库的存在当然是为了存储数据, ......
320
0
0
2022-12-17
多事务更新同一行数据时加独占锁避免脏写如果有事务在表里执行增删改操作,那在行级会加独占锁,此时其实同时会在表级加一个意向独占锁;如果有事务在表里执行查询操作,那么会在表级加一个意向共享锁。其实平时操作数据库,比较常见的两种表锁,反而是更新和查询操作加的意向独占锁和意向共享锁,但是可以忽略这个意向独占锁和意向共享锁,因为两种意向锁根本不会互斥;锁的类型表锁读锁 ......
380
0
0
2022-12-17
InnoDB 体系架构InnoDB 主要包括了内存池、后台线程以及存储文件。内存池又是由多个内存块组成的,主要包括缓存磁盘数据、redo log 缓冲等;后台线程则包括了 Master Thread、IO Thread以及 Purge Thread 等;由 InnoDB 存储引擎实现的表的存储结构文件一般包括表结构文件(.frm)、共享表空间文件(ibdat ......
320
0
0
2022-12-16
一、备份的目的1. 做灾难恢复:对损坏的数据进行恢复和还原 2. 需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用二、备份需要考虑的问题1. 可以容忍丢失多长时间的数据; 2. 恢复数据要在多长时间内完; 3. 恢复的时候是否需要持续提供服务; 4. 恢复的对象,是整个库,多个表,还是单个库,单个表。三、备份的类型1、根据是否需要数据库 ......
391
0
0
2022-12-16
需要带着问题来了解mysql的分库分表什么是分库分表,为什么我们需要分库分表如何进行分库分表,有什么优缺点对于分库分表有哪些架构设计,对于后期的扩容扩展怎么样目前行业内流行的解决方案有哪些?各自有什么特点自己设计一个数据库分库分表的框架,如何设计,需要考虑哪些因素为什么需要分库分表随着我们的系统运行,存储在关系型数据库的数据量会越来越大,系统的访问的压力也会 ......
411
0
0
2022-12-16
一部分参数配置vim /etc/my.cnf [client] port=3306 socket=/var/lib/mysql/mysql.sock default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 prompt="\u@mysqldb \R:\m:\ ......
461
0
0
2022-12-14