
高级教程
文章平均质量分 97
多加点辣也没关系
一个普通的程序猿
展开
-
MySQL 高级 - 第十五章 | MySQL 事务日志
上篇: 第十四章、事务基础知识本文内容主要源于:bilibili-尚硅谷-MySQL高级篇事务有 种特性:原子性、 一致性、 隔离性和 持久性>那么事务的四种特性到底是基于什么机制实现呢?有的 或许会认为 是 的逆过程,其实不然。 和 都可以视为是一种恢复操作。但是::是存储引擎层()生成的日志,记录的是 上的页修改操作,比如页号 、偏移量 写入了 数据。主要为了保证数据的可靠性:是存储引擎层()生成的日志,记录的是逻辑操作日志,比如对某一行数据进行了 语句操作,那么 就记录一条与之相反原创 2024-09-29 00:02:46 · 1150 阅读 · 0 评论 -
MySQL 高级 - 第十四章 | 事务基础知识
事务是数据库区别于文件系统的重要特性之一,当有了事务就会让数据库始终保持一致性,同时还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。原创 2024-08-04 16:23:26 · 749 阅读 · 0 评论 -
MySQL 高级 - 第十三章 | 数据库其它调优策略
在进行多表连接的时候,搜索空间可能会达到很高的数据量级,巨大的搜索空间显然会占用更多的资源,因此需要通过调整连接顺序,将搜索空间调整在一个可接受的范围内。如果读和写的业务量都很大,并且它们都在同一个数据库服务器中进行操作,那么数据库的性能就会出现瓶颈,这时为了提升系统的性能,优化用户体验,可以采用读写分离的方式降低主数据库的负载,比如用主数据库(master)完成写操作,用从数据库(slave)完成读操作。:表示索引缓冲区的大小。表的规范化程度越高,表与表之间的关系就越多,需要连接查询的情况也就越多。原创 2024-07-22 23:47:40 · 903 阅读 · 0 评论 -
MySQL 高级 - 第十二章 | 数据库的设计规范
在关系型数据库中,关于数据表设计的基本原则、规则就称为范式。可以理解为,一张数据表的设计结构需要满足的某种设计标准的级别。要想设计一个结构合理的关系型数据库,必须满足一定的范式。范式的英文名称是,简称NF。它是英国人E.F.Codd在上个世纪70年代提出关系数据库模型后总结出来的。范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。有的时候不能简单按照规范要求设计数据表,因为有的数据看似穴余,其实对业务来说十分重要。这个时候,我们就要遵循业务优先。原创 2024-06-11 16:47:21 · 1763 阅读 · 2 评论 -
MySQL 高级 - 第十一章 | 索引优化与查询优化
上篇:第十章、性能分析工具的使用本文内容主要源于:bilibili-尚硅谷-MySQL高级篇都有哪些纬度可以进行数据库调优?简言之:关于数据库调优的知识点非常分散,不同 ,不同的公司,不同的职位,不同的项目遇到的问题都不尽相同。虽然 查询优化的技术很多,但是大体方向上完全可以分为 和 两大块。学员表插 万条, 班级表插 万条步骤1:建表步骤2:设置参数命令开启:允许创建函数设置步骤3:创建函数随机产生字符串,保证每条数据都不同随机产生班级编号步骤4:创建存储过程创建往 表中插入数据的存储原创 2024-06-07 23:00:33 · 1597 阅读 · 2 评论 -
MySQL 高级 - 第十章 | 性能分析工具的使用
在数据库调优中,我们的目标就是 。利用宏观的监控工具和微观的日志分析可以帮我们快速找到调优的思路和方式。当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。整个流程划分成了 和 两个部分。字母 S 的部分代表观察(会使用相应的分析工具),字母 代表的部分是行动(对应分析可以采取的行动)我们可以通过观察了解数据库整体的运行状态,通过性能分析工具可以让我们了解执行慢的 都有哪些,查看原创 2024-05-24 16:55:11 · 658 阅读 · 0 评论 -
MySQL 高级 - 第九章 | 索引的创建与设计原则
MySQL 的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。原创 2024-05-22 01:03:01 · 722 阅读 · 1 评论 -
MySQL 高级 - 第八章 | InnoDB 数据存储结构
页a、页b、页c...页n这些页可以 ·不在物理结构上相连·,只要通过双向链表相关联即可。每个数据页中的记录会按照主键值从小到大的顺序组成一个单向链表,每个数据页都会为存储在它里边的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录。第七章、索引的数据结构参考文章:《MySQL 是怎样运行的:从根儿上理解 MySQL》— [中] 小孩子。原创 2024-05-09 22:51:04 · 635 阅读 · 0 评论 -
MySQL 高级 - 第七章 | 索引的数据结构
MySQL官方对索引的定义为:索(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。索引的本质:索引是数据结构,可以简单理解为排好序的快速查找数据结构,满足特定查找算法,这些数据结构以某种方式指向数据,这样就可以在这些数据结构的基础上实现高级查找算法。索引是在存储引擎中实现的。原创 2024-05-07 20:48:55 · 1450 阅读 · 1 评论 -
MySQL 高级 - 第六章 | 存储引擎
MySQL从 3.23 开始就包含InnoDB存储引擎,5.5之后就默认采用InnoDB引擎InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期()事务,可以确保事务的完整提交(Commit)和回滚(Rollback除了增加和查询外,还需要更新、删除操作,那么,应优选选择InnoDB存储引擎除非有非常特别的原因需要使用其它的存储引擎,否则应该优先考虑InnoDB引擎数据文件结构:表名.frm存储表结构(MySQL-8.0时,合并在表名.ibd中)表名.ibd。原创 2024-05-04 17:01:12 · 1100 阅读 · 0 评论 -
MySQL 高级 - 第五章 | 逻辑架构
每次调用都会产生最新的当前时间,如果在一个查询请求中调用了这个函数,那即使查询请求的文本信息都一样,那不同时间的两次查询也应该得到不同的结果,如果在第一次查询时就缓存了,那第二次查询的时候直接使用第一次查询的结果就是错误的。物理查询优化是基于关系代数进行的查询重写,而关系代数的每一步都对应着物理计算,这些物理计算往往存在多种算法,因此需要计算各种物理路径的代价,从中选择代价最小的作为执行计划,在这个阶段里,对于单表和多表连接的操作,需要高效地。,它们都是独立的,独立的去申请内存空间,独立的管理各种链表。原创 2024-05-01 08:33:45 · 2106 阅读 · 4 评论 -
MySQL 高级 - 第四章 | 配置文件与系统变量
MySQLmax_connections:允许同时连入的客户端数量default_storage_engine:表的默认存储引擎用系统变量query_cache_size:查询缓存的大小。原创 2024-04-29 13:11:15 · 1679 阅读 · 0 评论 -
MySQL 高级 - 第三章 | 用户、权限与角色管理
一旦建立了连接,服务器就进入了访问控制的第二阶段,也就是请求核实阶段,对此连接上进来的每个请求,服务器检查该请求要执行什么操作,是否有足够的权限来执行它,这正是需要授权表中的权限列发挥作用的地方,这些权限可以来自。用户可以被赋予角色,同时也被授予角色包含的权限,对角色进行操作需要较高的权限,并且像用户账号一样,角色可以拥有授予和撤消的权限。在实际应用中,为了安全性,需要给用户授予权限。是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户的密码等管理权限,普通用户只拥有被授予的各种权限。原创 2024-04-29 13:10:30 · 1815 阅读 · 0 评论 -
MySQL 高级 - 第二章 | 数据库目录结构与文件系统
以下内容以在linux上安装的mysql-8.0为例,讲述mysql的目录结构bilibili-尚硅谷-MySQL高级篇。原创 2024-04-29 13:09:56 · 1550 阅读 · 0 评论 -
MySQL 高级 - 第一章 | 字符集、大小写规范与sql_mode的合理设置
目前市面上使用的Mysql大多数都是mysql-8.0或者是mysql-5.7,以下内容是对mysql的字符集与大小规范的一个简单介绍可以用以下命令查看mysql如果您想要查看更详细的版本信息,包括版本号、发行版本、系统名称和bilibili-尚硅谷-MySQL高级篇MySQLLinux-安装MySQL(详细教程)sql_mode会影响MySQL支持的SQL语法以及它执行的数据验证检查,通过设置sql_mode可以完成不同严格程度的数据校验,有效地保障数据的准确性。MySQL服务器可以在不同的SQL。原创 2024-04-29 13:09:06 · 1241 阅读 · 0 评论 -
MySQL - 存储过程
我不生产知识,我只是知识的搬运工,以下内容是源于 B站 -MySQL数据库入门到精通存储过程时事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对应提高数据库处理的效率是有好处的。存储过程的思想很简单,就是数据库 SQL 语言层面的代码封装与重用。封装,复用可以接受参数,也可以返回数据通过存储过程可以减少应用服务器和数据库之间的网络交互,效率提升。原创 2022-05-12 17:10:01 · 2244 阅读 · 1 评论