-
MySQL哈希索引的6大局限性、4大使用场景(图解代码全面剖析)
本文主要介绍哈希索引的概念、6个局限性、4个常见应用场景,并通过图解、代码示例,力求剖析到位。 这是互联网某大厂的一道面试题: 哈希索引的查询效率更高,还有时间及空间复杂度的优势。为什么不全部用哈希索引,还要使用 B 树或 B+ 树索引呢? 其实这道题真正要问的是“哈希索引的局限性是什么?”。这道题目,大多同学都能回答上几点,但想要超出面试官的预期,就要更进一步才行。 认真看完本文,争取在下次面试…- 14
- 0
-
B 树索引的结构、特点、原理、优缺点及实现(12张图彻底吃透)
B 树(B- 树)是 MySQL 最常用的索引数据结构。B 树常用于大数据量的场景中,是 MySQL 索引实现的核心,大厂校招、社招面试 90% 会问到。 引入 B 树 ,是为了解决高频的 I/O 操作。在操作系统中,I/O 的成本是很高的。 B 树的每个节点存储的数据量约为 4K。磁盘数据存储是采用块的形式存储的,每个块也是 4K。 每次对磁盘进行 IO 数据读取时,同一个磁盘块的数据,就会被一…- 18
- 0
-
MySQL索引概念、原理、作用及优缺点(图文详解超详细)
掌握索引的基础(概念、原理、作用及优缺点等),是精通 MySQL 的前提,基础决定上层高度。 索引(Index)是数据库性能优化的关键。数据量越大,使用索引的效果就越明显。 假设 MySQL 数据库有 1 亿条数据,现在需要查询其中一条数据: 使用索引,1 秒不到完成查询; 不用索引,100 万秒完成查询。 今天,和宝妹儿一起夯实索引基础: 索引的概念 为什么要用索引(示例图解原理) 索引的作用 …- 18
- 0
-
MySQL事务面试题合集(50+图、万字解析)
MySQL 事务是面试中的高频题,大厂社招、校招 90% 会被问。 在技术面试中,面试官几乎都会问到一些 MySQL 事务面试题,以考察候选人的数据库知识和应用能力。 本文总结的 22 道 MySQL 事务面试题,全部是大厂真题,50+ 张手工图解、万字详解答案。 建议收藏备用,划走就再也找不到啦。 大家好,我是爱分享的程序员宝妹儿,分享即学习。 PS. 宝妹儿已将本文更新到《MySQL 大厂高频…- 19
- 0
-
MySQL事务从入门到精通(50+张图超全解析)
事务是 MySQL 最为重要的机制之一。 在多个并发操作同时进行时,事务可以确保数据的一致性和完整性,提高并发性能的同时,提供错误处理和回滚机制,以避免出现不可逆的问题。 事务也是 MySQL 的高频面试考点,大厂校招、社招面试90%会问到,它的重要性不言而喻。 本文是 《MySQL 事务系列篇》的集合,全面涵盖了 MySQL 事务的所有核心知识点。 MySQL 事务从入门到精通,看这一篇就够了。…- 10
- 0
-
3分钟搞懂Redo log,MySQL 持久性及一致性稳了
Redo Log (重做日志)是保证数据库持久性与一致性的关键。 Redo log 的引入,是为了保证 MySQL 宕机时,数据恢复可以按照顺序的恢复方式,而不是随机读写。 1. Redo log 是什么 Redo Log(重做日志) 是保证数据库事务持久性的一种重要日志记录机制,用于记录已经执行的事务修改操作。 当数据库进行数据修改操作(如插入、更新、删除)时,会对数据本身进行修改,并生成一个…- 21
- 0
-
一次吃透MVCC原理,让MySQL并发性能飙升
在 MySQL 中,MVCC (多版本并发控制)主要解决并发访问数据库带来的一系列问题。 例如: 读写之间阻塞的问题; 减少死锁的发生; 解决一致性读(快照读)的问题。 MVCC 可以在尽量减少锁使用的情况下,用更高效、更好的方式去处理读写冲突。即便出现了读写冲突,也可以做到不加锁、非阻塞并发读,极大提高了数据库并发性能。 本篇,我们深入理解 MVCC(多版本并发控制)原理。 PS. 刚结束的 B…- 15
- 0
-
6 张图吃透Undo log,MySQL进阶必知必会!
Undo log 回滚日志是 MySQL 进阶必知必会的一个重要知识点,大厂面试也经常会被问到。 Undo Log 回滚日志记录事务执行过程中的旧值,当事务发生异常、需要回滚操作时,可使用 Undo Log 来撤销事务的变更操作,将数据恢复到事务开始之前的状态,从而确保事务的一致性,提高数据库的并发性能和系统的稳定性。 大家好,我是爱分享的程序员宝妹儿。 本篇深入:Undo log 回滚日志的物理…- 18
- 0
-
图解 MySQL Undo log 存储机制及工作原理,3分钟精通!
Undo log 是 MySQL 实现事务的关键机制之一,正确使用 Undo log ,可以极大地提高数据库的性能和并发控制能力。 Undo log 是事务原子性和一致性的保证,在事务中更新数据的前置操作,其实就是要先写入一个 Undo Log 。 本文将通过技术原理图解析:Undo Log 的存储机制、工作原理。 大家好,我是爱分享的程序员宝妹儿,分享即学习。 刚结束的 Bin log 系列,…- 14
- 0
-
binlog从基础到精通,24张图全面总结,一文彻底吃透!
提到 MySQL 的日志文件,就一定绕不开 Bin log。 Bin log 的作用非常重要,MySQL 数据库的数据备份、主备、主主、主从都离不开 Bin log。 Bin log 保证了数据的可靠性和一致性。 大家好,我是爱分享的程序员宝妹儿,分享即学习。 本文是 Bin log 系列的总结篇,内容包括:Bin log 的概念、优缺点、使用场景、配置、主从复制、数据恢复、三大模式、空间占用解决…- 22
- 0
-
MySQL的bin log、redo log及undo log的区别,2分钟吃透!
Bin log、Redo log 和 Undo log 的区别,是 MySQL 的高频面试题,大厂校招面试90%会问。 在 MySQL 数据库中,Bin log、Redo log 和 Undo log 都是极为重要的日志文件。 MySQL 实现事务、崩溃恢复、集群的主从复制等,底层都离不开日志,可以说日志是 MySQL 的内核所在。 只有了解 MySQL 日志,才算是彻底搞懂 MySQL。 本文主…- 37
- 0
-
binlog恢复MySQL数据,7步搞定,收藏备用!
删库不跑路,用 binlog 来恢复。 binlog 是二进制日志文件,它的作用一是增量备份,作用二是主从复制,即主节点维护一个 binlog 日志文件,从节点从 binlog 中同步数据,也可以通过 binlog 日志来实现高级数据恢复。 上一篇介绍了:Binlog实现MySQL主从复制 本篇主要探讨:怎么使用 binlog 恢复 MySQL 数据 这也是 MySQL 的重要知识点及高频面试点,…- 21
- 0
-
Binlog实现MySQL复制,5个关键步骤,务必掌握!
复制是 MySQL 最重要的功能之一,MySQL 集群的高可用、负载均衡和读写分离都是基于复制来实现的。 Binlog 就是实现主从复制的关键,主数据库将修改操作记录到 Binlog 中,从数据库通过解析 Binlog 实现数据的同步。 从 MySQL 5.6 起,复制有两种实现方式:基于 Binlog 、或基于 GTID。 本文主要介绍基于 Binlog 的主从复制。 大家好,我是爱分享的程序员…- 19
- 0
-
Binlog 增长过快,MySQL性能断崖式下降?5个方法搞定!
binlog(归档日志)的增长过快,可能导致 MySQL 的性能下降、存储空间消耗、数据恢复慢等问题。 例如: 电商平台的大量订单数据被写入数据库,每次订单状态变更,都会产生相应的数据库操作。 binlog 的增长就会很快,可能影响 MySQL 的性能及存储消耗等。 大家好,我是爱分享的程序员宝妹儿,分享即学习。 本篇我们深入探讨:binlog 增长过快的原因,及具体解决方案。 这也是 MySQL…- 32
- 0
-
吃透3大Binlog模式,MySQL数据零丢失
用错 Binlog 模式,可能导致 MySQL 的数据不一致性、性能下降、存储空间浪费和数据恢复困难等问题。 在 MySQL 中,不管使用什么存储引擎,只要表数据更新,就会产生 Binlog(归档日志)。 而 MySQL 数据库的数据备份、主备、主主、主从等实现,也离不开 Binlog(归档日志)。 针对不同的应用场景,Binlog 推出了三种工作模式 Statement、Row、Mixed,以满…- 8
- 0
-
MySQL 事务特性及隔离级别(8张图全部搞定)
昨天复习 MySQL 事务相关知识,顺道总结了下,分享给大家。 本文主要介绍 MySQL 事务的概念、ACID 特性以及事务隔离级别。 希望对 MySQL 新手同学有所启发,MySQL 老鸟们也可作为复习参考。 话不多说,正文开始… 文末附:《史上最全MySQL 学习路线图》。 1. 什么是事务? 事务是数据库操作的一个基本单位,它由一系列的数据库操作组成,这些操作要么全部成功执行,要么全部失败回…- 4
- 0
-
SpringBoot注解大全(必知必会)
正确使用 SpringBoot 注解,可以减少不必要的配置和维护工作,让我们更加专注于业务逻辑的实现,极大地简化了开发流程。 反之,如果 SpringBoot 注解使用不当,可能会导致代码难以维护、性能下降、甚至出现安全漏洞。 本文,全面总结了 25 个最为核心的 SpringBoot 注解,以及其作用、功能和使用示例。 大家好,我是爱分享的程序员宝妹儿。 点击蓝字可获取: SpringBoot …- 0
- 0
-
MySQL基础面试题最新总结(2023面试都被问到了!)
MySQL 是面试必考题,也是必知必会的重要知识点。 在技术面试中,面试官几乎都会问到一些 MySQL 基础面试题,来考察候选人的数据库知识和应用能力。 大家好,我是爱分享的程序员宝妹儿。 今天分享的这 15 道 MySQL 基础面试题,全部精选 2023 金三银四的高频题目,建议收藏备用。 文末附:2023版 MySQL 面试题及答案(附备面路线) 数据库备份和恢复相关 1. 什么是数据库备份和…- 352
- 0
-
SQL 性能优化详解篇(一文彻底吃透)
MySQL 性能调优是一个优秀工程师的必备技能,性能优化做得好,可以起到事半功倍的效果。 MySQL 性能调优包括:JVM 调优、索引优化、表优化、缓存、SQL 性能优化等。 本文,主要介绍 MySQL 的索引优化。 文末附:MySQL 面试题精选大全及答案(最新整理,附备面路线) – Java面试题宝 1. MySQL 查询处理过程 我们先来了解一下 MySQL 执行查询 SQL …- 17
- 0
-
9大表设计优化技巧(让你的MySQL性能飞升)
表设计优化,是 MySQL 调优中至关重要的一个环节,也是大厂高频面试题之一。 一个优秀合理的表设计优化,可以有效地减少线上问题,极大地提升 MySQL 的性能和稳定性。 本文主要介绍 MySQL 调优的 9 个常用的优化表设计方法。 文末附:MySQL 面试题精选大全及答案(最新整理,附备面路线) – Java面试题宝 1. 避免深分页 从 MySQL 中查询大量数据时,可以使用分页来避免一次…- 239
- 0
-
SQL查询性能优化(6 个常用技巧,效率提高80%)
SQL 查询性能的优化,是面试中的高频知识点,也是必知必会的技能。 SQL 查询性能的好坏,直接影响程序性能和用户体验。特别是一些数据量大、复杂多样的应用场景中,对 SQL 查询性能优化就更加刚需了。 本文主要介绍六个常用的 SQL 查询性能优化方法。 文末附:MySQL 面试题精选大全及答案(最新整理,附备面路线) – Java面试题宝 1. 禁止使用 select * 《阿里巴巴开发手册》中曾…- 268
- 0
-
这样优化MySQL的IP地址存储方式,效率提升100倍
在 MySQL 中,IP 地址是一个非常重要的数据类型,我们经常需要在数据库中存储和查询大量的 IP 地址数据。 同时,存储 IP 地址数据又是一个比较复杂的问题,如果选错了存储方式,查询速度就会很慢。 我去年曾经做过一次优化,仅仅只是改变了数据类型,效率就提高了至少 100 倍,原本要 4、5 天完成的计算任务,结果两小时不到就全部搞定了...... 本篇重点介绍 MySQL 的几种常见 IP …- 15
- 0
-
Java8中StringJoiner的底层原理及使用用法(附源码)
Java 8 提供了一种新的字符串操作方式 StringJoiner ,相较上文介绍的字符串拼接10种方法, StringJoiner 是更为高级一些的用法了。 import java.util.StringJoiner; public class Test { public static void main(String[] args) { StringJoiner joiner; } } St…- 1
- 0
-
HashMap 的初始容量设置、原因、方法、应用
HashMap 是一个非常重要、必知必会的知识点。 在 Java 面试中,HashMap 经常会被问到,如果面试官想要深挖,大概率就会追问 HashMap 的容量设置。 例如:在实际使用时,我们并没有给 HashMap 设置容量,如果现在要新创建一个 HashMap ,如何设置这个 HashMap 的容量呢,说说你的方法,以及为什么这么操作? 创建一个 HashMap: Map<String…- 24
- 0