MySQL
文章平均质量分 92
MySql学习笔记
一条酸菜鱼2
这个作者很懒,什么都没留下…
展开
-
MySQL学习笔记(五)InnoDB事务与锁
MVCC 是适合用于处查询的时候使用,能提供很高的性能,我们的事务不仅仅是只有读,我们还有写情况,为了保证数据不丢失,我们需要拿到最新的数据进行更改。数据库并发场景有三种,分别为:1、读读: 不存在任何问题,也不需要并发控制2、读写、写读: 有线程安全问题,可能会造成事务隔离性问题,可能遇到脏读、幻读、不可重复读。3、写写: 有线程安全问题,可能存在更新丢失问题。原创 2024-09-16 12:10:27 · 1216 阅读 · 0 评论 -
MySQL学习笔记(四)MySQL慢查询优化
慢速查询日志由执行时间超过几秒并且至少需要检查行的SQL语句组成慢查询数据保存在表中慢查询优化我们知道,Mysql性能最重要的瓶颈在磁盘的IO,所以硬件层面,最重要的其实就是磁盘。1.提高磁盘读写能力,可以用比较新型的磁盘2.减少寻址时间,可以横向扩展,将数据添加到不同的磁盘,每个磁盘数据的寻址通常1s 100次寻址,那么单个磁盘有限制,就多个磁盘寻址当然,除了磁盘以外,cpu、内存以及带宽也是比较重要的因素部署主从、多主多从等集群。原创 2024-09-12 17:57:03 · 1436 阅读 · 0 评论 -
MySQL学习笔记(三)InnoDB索引
首先,我们知道我们每个表都会去有一个主键索引树,是根据主键进行排序的B+树,树的特性是会加快查询速度,但是在添加数据的时候,是要去维护这个树的,如果是递增的,我们只需要往树上添加节点,那么假如如果不是趋势递增的,那么我们会引发树的分裂与合并。我们可以说,当无序增加、更新主键ID、删除索引页的更新操作时候,会有大 量的树结点调整,触发子叶结点Page页和上层叶结点和根节点页的分页与合并,造 成大量磁盘碎片,损耗数据库的性能,也就是解释了我们为什么不要在频繁更新修改的列上建索引,或者是不要去更新主键。原创 2024-09-12 15:24:25 · 818 阅读 · 0 评论 -
MySQL学习笔记(二)InnoDB内存模型与磁盘同步机制
当我们将数据存放到内存,这时候我们的系统中将存在两分数据,一份在内存,一份在磁盘,这时候如果我们对数据进行操作,可能会导致两边数据不同步,那我们就需要对两边数据进行同步处理。的大小是固定的,写入的日志数量是有限制的,并且它的目的只是去保证数据不丢失,数据落盘了,这些日志就没有用了,所以 RedoLog采用的是循环覆盖写的方式。RedoLog的目的,是去保证我的数据页在内存,但是还没有同步到磁盘的时候,宕机导致的数据丢失。是一种顺序IO,纪录了哪个页,哪个磁盘哪个扇区,哪个offset的变更,是循环写入的。原创 2024-09-11 23:45:36 · 1040 阅读 · 0 评论 -
MySQL学习笔记(一)MySQL简介
什么是MySql?MySQL其实是一种关系型数据库,什么是关系型数据库?关系表数据库,由表结构来存储数据与 数据之间的关系,同时用sqlStructured) 翻译过来叫做 结构化查询语句 来进行数据操作。原创 2024-09-10 19:22:03 · 868 阅读 · 0 评论