👆 这是第 412 篇不掺水的原创,想要了解更多,请戳下方卡片关注我们吧~数据结构以及算法索引的本质其实就是一种数据结构。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找,这种复杂度为 O(n) 的算法在数据量很大时显然是糟糕的,好在计算机科学的发展提供了很多更优秀的查找算法,例如二分查找 ......
79
0
0
2024-03-13
什么是 binlog( binary log)binlog 是一个二进制格式的文件,用于记录用户对数据库更新的 SQL 语句信息,例如更改数据库表和更改内容的 SQL 语句都会记录到 binlog 里,但是对库表等内容的查询不会记录。默认情况下,binlog 日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi 等)查看,而使用 mysqlbi ......
81
0
0
2024-03-12
引言正则表达式(Regular Expression),又被称规则表达式,在代码中常简写为regex、regexp或RE,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合, ......
115
0
0
2024-03-07
1. 引言大家好,我是小❤,一个漂泊江湖多年的 985 非科班程序员,曾混迹于国企、互联网大厂和创业公司的后台开发攻城狮。在上篇文章中,我们已经谈到了分布式中至关重要的两个理论:CAP 理论和 BASE 理论。今天,小❤将带大家探讨分布式事务里的“八奇技”,帮助大家在实际的分布式系统中更好地运用事务。2. 分布式事务常见的解决分案分布式事务是在分布式系统中, ......
68
0
0
2024-03-05
有小伙伴在微信上表示面试时被问到了 Next-Key Lock 是啥,结果一脸懵逼,那么今天我们来捋一捋 MySQL 中的记录锁、间隙锁以及 Next-Key Lock。 1. Record Lock Record Lock 也就是我们所说的记录锁,记录锁是对索引记录的锁,注意,它是针对 索引 记录 ,即它只锁定记录这一行数据。 ......
89
0
0
2024-03-04
前言开发中树形结构应该是很常见的一种数据结构了。而在数据库方面往往也都伴随相应的树形设计。在 mysql 中通过 parent_id 来绑定其上游,从而达到树形结构的存储,但是在查询的过程中就需要我们将 List 列表转成我们理想中的 Tree 树。构建树 List<Location> locations = this.baseMapper.s ......
88
0
0
2024-03-02
大部分朋友估计都只知道写sql然后执行,但是并不知道MySQL背后到底是怎么实现的。八股文中也有这么一道题:在MySQL中,一条SQL到底是如何执行的?我在面试中,也喜欢问这个问题,粗略的统计90%的朋友都是背八股文的,因为他们的回答大同小异。这道题想得到高分,真没那么容易,但是看完本文,希望下次面试你能拿到一个高分,而不是背统一的八股文。下面我们先来看看M ......
96
0
0
2024-03-01
写作目的最近看到一句话是MySQL的TPS是4000,这句话是不严谨的,因为没有说服务器的配置。所以自己买了个服务器做了一个压测。希望自己对数据有一个概念。 注意:服务器不同结果不同,结果不具有普适性。服务器配置配置参数CPU2核内存4GMySQL5.7Linux7.5MySQL安装1)docker安装2)docker安装MySQLdocker run -- ......
87
0
0
2024-02-28
MySQL隔离级别测试隔离级别数据库准备数据库如下图所示,所有字段都是int(方便测试),id为主键索引,name为普通索引(唯一索引),age没有索引Read Uncommitted(读取未提交内容)打开两个mysql终端,都设置session级别的隔离级别为读取未提交内容(本次会话有效)set session transaction isolation ......
95
0
0
2024-02-27
前言本片博客使用 mysql数据库 进行数据操作,使用 Navicat for mysql 这个IDE进行可视化操作。每个 SQL语句 都是亲身实验验证的,并且经过自己的思考的。能够保证sql语句的可运行性。 sql语句的命令不区分大小写,但储存的数据是区分大小写的。在这里我们统一使用英文小写进行命令编辑。如果喜欢大写的可以使用IDE编辑器的一键美化功能, ......
79
0
0
2024-02-26
文章目录1.能说下myisam 和 innodb的区别吗?2.说下mysql的索引有哪些吧,聚簇和非聚簇索引又是什么?3.那你知道什么是覆盖索引和回表吗?4、锁的类型有哪些呢5、你能说下事务的基本特性和隔离级别吗?6、那 ACID 靠什么保证的呢?7、那你说说什么是幻读,什么是 MVCC?8、 那你知道什么是间隙锁吗?9、你们数据量级多大?分库分表怎么做的? ......
80
0
0
2024-02-23
文章目录1.什么是数据库?2.如何查看某个操作的语法?3.MySql的存储引擎有哪些?4.常用的2种存储引擎?6.可以针对表设置引擎吗?如何设置?6.选择合适的存储引擎?7.选择合适的数据类型8.char & varchar9.Mysql字符集10.如何选择字符集?11.什么是索引?12.索引设计原则?13.MySql有哪些索引?数据结构角度14.H ......
79
0
0
2024-02-23
前言在MySQL中,执行计划是优化器根据查询语句生成的一种重要的数据结构,它描述了如何通过组合底层操作实现查询的逻辑。当我们编写一条SQL语句时,MySQL会自动对其进行优化,并生成最优的执行计划以实现更快的查询速度。各位精通MySQL的大佬们,像往常一样,我们经常会遇见一堆SQL查询要处理。作为一个优秀的MySQL的操盘手,不能让这些SQL语句任性地在数据 ......
97
0
0
2024-02-21
在MySQL中,我们经常需要操作数据库中的数据。有时我们需要获取表中的倒数第二个记录。这个需求看似简单,但是如果不知道正确的SQL查询语句,可能会浪费很多时间。在本篇文章中,我们将探讨如何使用MySQL查询获取表中的倒数第二个记录。一、查询倒数第二个记录MySQL中有多种方式来查询倒数第二个记录,下面我们将介绍三种使用最广泛的方法。1.1、使用排名我们可以使 ......
77
0
0
2024-02-21
作者:余振兴,爱可生 DBA 团队成员,热衷技术分享、编写技术文档。作者:官永强,爱可生 DBA 团队成员,擅长 MySQL 运维方面的技能。热爱学习新知识,亦是个爱打游戏的宅男。爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。本文约 4000 字,预计阅读需要 10 分钟。1背景基于安全的背景下,客户对 MySQL 的用户安全上 ......
97
0
0
2024-02-17