摘要: 1、什么是垃圾? 垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。 如果不及时对内存中的垃圾进行清理,那么,这些垃圾对象所占的内存空间会一直保留到应用程序结束,被保留的空间无法被其他对象使用。甚至可能导致内存溢出。 2、垃圾收集概述 垃圾收集,不是Java语言的伴生产物。早 阅读全文
posted @ 2021-06-28 21:29 浅蓝色丶 阅读(88) 评论(0) 推荐(0) 编辑
摘要: Innodb引擎SQL执行的BufferPool缓存机制 为什么Mysql不能直接更新磁盘上的数据而且设置这么一套复杂的机制来执行SQL了? 因为来一个请求就直接对磁盘文件进行随机读写,然后更新磁盘文件里的数据性能可能相当差 因为磁盘随机读写的性能是非常差的,所以直接更新磁盘文件是不能让数据库抗住很 阅读全文
posted @ 2021-06-28 20:35 浅蓝色丶 阅读(75) 评论(0) 推荐(0) 编辑
摘要: ​ Mysql在可重复读隔离级别下如何保证事务较高的隔离性,这个隔离性就是靠MVCC(Multi-Version Concurrency Control)机制来保证的,对一行数据的读和写两个操作默认是不会通过加锁互斥来保证隔离性,避免了频繁加锁互斥,而在串行化隔离级别为了保证较高的隔离性是通过将所有 阅读全文
posted @ 2021-06-28 20:34 浅蓝色丶 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 1、概述 ​ 数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能 就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机 制、MVCC多版本并发控制隔离机制,用一 阅读全文
posted @ 2021-06-28 20:29 浅蓝色丶 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 一、内部组件结构 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。​ 1. Server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存 阅读全文
posted @ 2021-06-28 20:27 浅蓝色丶 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 一、Explain工具介绍: 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 ​ 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL ​ 注意:如果 from 中包含 阅读全文
posted @ 2021-06-28 20:25 浅蓝色丶 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 1、定义: ​ MySQL官方对索引的定义为:“索引是帮助MySQL高效获取数据的数据结构。”可以得到索引的本质是数据结构。可以理解为:索引是帮助MySQL高效获取数据的排好序的数据结构。索引往往以索引文件的形式存储在磁盘上。我们平常所说的索引,如果没有特别说明,都是指B树(多路索引树)结构组织的索 阅读全文
posted @ 2021-06-28 20:23 浅蓝色丶 阅读(46) 评论(0) 推荐(0) 编辑