摘要: 索引下推是从 MySQL5.6 开始引入一个特性,英文是 index condition pushdown,一般简称为 ICP,索引下推通过减少回表的次数,来提高数据库的查询效率。 在 MySQL5.5 中,由于没有索引下推,所以上面这个 SQL 的执行流程是这样的: 首先 MySQL 的 serv 阅读全文
posted @ 2023-03-26 13:06 Bepowerful 阅读(267) 评论(0) 推荐(0)
摘要: swap原理 swap就是内存交换的意思。 计算机对内存分为物理内存与虚拟内存。物理内存就是计算机的实际内存大小,虚拟内存则是从磁盘空间开辟出一部分内存空间虚拟出来的,所以也叫磁盘缓存。虚拟内存的出现,让机器内存不够的情况得到部分解决。程序运行的时候系统会在虚拟内存与物理内存直接进行替换和加载。这里 阅读全文
posted @ 2023-03-24 01:34 Bepowerful 阅读(375) 评论(0) 推荐(0)
摘要: 悲观锁:认为线程问题一定会发生,在操作数据之前就获取锁,确保线程串行执行。列如Synchronized、lock 乐观锁:认为线程问题不一定发生,因此不加锁,只是在更新数据时去判断有没有其他线程对数据进行了修改。如果没有修改则认为是安全的,自己才更新数据。 如果已经被其他线程修改说明发生了安全问题, 阅读全文
posted @ 2023-02-11 17:05 Bepowerful 阅读(18) 评论(0) 推荐(0)
摘要: 第一种方法 seckillVoucherService.update() .setSql("stock=stock-1") .eq("voucher_id",voucherId).update(); 第二种方法 LambdaUpdateWrapper<SeckillVoucher> updateWr 阅读全文
posted @ 2023-02-09 14:38 Bepowerful 阅读(759) 评论(0) 推荐(0)
摘要: 分类 MySQL中的锁,按照锁的粒度分,分为以下三类: 全局锁:锁定数据库中的所有表。 表级锁:每次操作锁住整张表。 行级锁:每次操作锁住对应的行数据。 全局锁 全局锁就是对整个数据库实例加锁,加锁后整个实例就处于只读状态,后续的DML的写语句,DDL语句,已经更新操作的事务提交语句都 将被阻塞。 阅读全文
posted @ 2022-12-15 00:35 Bepowerful 阅读(35) 评论(0) 推荐(0)
摘要: 流程:执行语句时若Buffer pool中有此条记录就执行更新,如果没有就从磁盘中取出此条记录缓存到缓冲区中更新,更新的页称之为脏页,脏负的数据记录到redolog buffer中,commit之后会将数据页的变化刷新到磁盘结构的文件中执久化的保存在磁盘中,如果刷新脏页到磁盘时,发生错误时会从red 阅读全文
posted @ 2022-12-14 22:46 Bepowerful 阅读(30) 评论(0) 推荐(0)
摘要: 。 阅读全文
posted @ 2022-12-14 16:40 Bepowerful 阅读(30) 评论(0) 推荐(0)
摘要: 1.要看linux中有没有安装,如果有就删除 rpm -qa | grep mysql rpm -qa | grep mariadb (自带的会和mysql冲突) rpm -e --nodeps 软件名称 (卸载软件) 2.安装rpm安装包文件 按照一定的顺序(需要依赖) 不同的版本会用到yum i 阅读全文
posted @ 2022-12-11 18:44 Bepowerful 阅读(19) 评论(0) 推荐(0)