
MySQL
文章平均质量分 88
王丶小利
这个作者很懒,什么都没留下…
展开
-
MySQL InnoDB引擎
undo log和redo log 记录物理日志不一样,他是逻辑日志,可以认为当delete一条记录时,undo log中会记录一条对应的insert记录,反之亦然,当update一条记录时,他就会记录一条对应相反的update记录,当执行rollback时,就可以从undo log中的逻辑记录读取到相应的内容,进行回滚。Master Thread:核心后台线程,负责调度其它线程,还负责将缓冲池中的数据异步刷新到磁盘中,保持数据的一致性,还包含脏页的刷新、合并插入缓存、undo页的回收。原创 2023-05-21 20:51:04 · 91 阅读 · 0 评论 -
MySQL 锁
分类全局锁:锁定数据库中所有的表表级锁:每次操作锁住整张表行级锁:每次操作锁住对应的行。原创 2023-05-21 00:21:35 · 89 阅读 · 0 评论 -
MySQL SQL优化
count(主键):InnoDB引擎会比遍历整张表,把每一行的主键id值都取出来,返回给服务层,服务层拿到主键后,直接按行进行累加。页可以为空,也可以填充一半,也可以填充100%,InnoDB规定每页至少存储2行数据,所以每个页包含了2-N行数据,根据主键排序。count()是一个聚合函数,对于返回的结果集,一行行的判断,如果count函数的参数不是null,累计值加一,最后返回。count(1):InnoDB引擎遍历整张表,但不取值,服务层对返回的每一行,放一个数字 “1” 进去,直接进行累加。原创 2023-05-14 21:26:47 · 80 阅读 · 0 评论 -
MySQL索引
介绍:索引(index)是帮助mysql高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构一模中方式引用指向数据,这样就可以在这些数据结构上实现高级查询算法。索引优缺点优:提高检索效率,降低数据库IO成本,通过索引列对数据进行排序,降低数据排序成本,降低cpu消耗缺:索引需要占空间;索引降低了查询速度,同时降低了表的更新速度,如:insert、update、delete。原创 2023-05-14 21:25:59 · 97 阅读 · 0 评论 -
MySQL存储引擎
存储引擎就是存储数据、建立索引、更新、查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也被称为表类型。Memory引擎的表数据存储在内存中,由于受到硬件问题,或断点问题的影响,只能将这些表作为临时表或缓存使用。文件:xxx.idb 代表的是表名,InnoDB引擎的每一张表都会对应这样一个。高可靠、高性能的通用存储引擎,MySQL5.5之后默认使用InnoDB。foreign key约束,保证数据的完整性、正确性。可以注意到索引是属于存储引擎层的。连接层、服务层、引擎层、存储层。原创 2023-05-14 21:19:45 · 68 阅读 · 0 评论 -
MySQL基础
连接查询:内连接:相当于A∩B外连接:左外连接:查询左表所有数据,以及两张表交集部分右外连接:查询右表所有数据,以及两张表交集部分自连接:当前表与自身的连接查询,自连接必须使用表别名子查询。原创 2023-05-12 22:06:40 · 93 阅读 · 0 评论