摘要: 原子性、持久性、一致性都是通过redo log 和 undo log 来完成的。redo log 用来保证事务的持久性,undo log用来保证事务的原子性。Redo Log包括两部分: 一是内存中的重做日志缓冲(Redo Log Buffer),该部分日志是易失性的; 二是磁盘上的重做日志文件(R 阅读全文
posted @ 2021-11-08 21:05 cao_xiaobo 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 对于程序而言,外层循环越大,性能越低,对于数据库而言,永远是小的数据集放在最外层 程序设计原则:小的循环放到最外层,大的循环放在最小层 我们通过设置x、y、z的值来测试,而 x * y * z它的值是不变的,即我们测试的总循环次数不变。我们通过调整x、y、z的值分别来测试一下 注意,这里的测试需要通 阅读全文
posted @ 2021-11-08 20:54 cao_xiaobo 阅读(1696) 评论(0) 推荐(0) 编辑
摘要: 1.全表扫描 遍历整个主键索引的B+树,并且需要读叶子节点数据,称之为全表扫描。 例: select * from table; -- 全表扫描,不走ID索引 select id from table; -- 全索引扫描,走ID索引 2.全索引扫描 遍历整个二级索引的B+树。 例:假设name为ta 阅读全文
posted @ 2021-11-08 20:41 cao_xiaobo 阅读(5196) 评论(0) 推荐(1) 编辑
摘要: 示例数据 -- 创建表 create table table1( col1 int primary key, col2 int, col3 int, col4 int, col5 varchar(20) ) engine=INNODB; -- 插入数据 insert into table1 valu 阅读全文
posted @ 2021-11-08 20:39 cao_xiaobo 阅读(1261) 评论(0) 推荐(0) 编辑
摘要: 概念 聚簇索引:聚簇顾名思义,聚集在一起,即索引和数据是存放同一个文件中。其叶子节点中存放的就是整张表的行记录数据,也将聚集索引的叶子节点称为数据页。InnoDB引擎使用的是非聚簇索引。 非聚簇索引:索引文件和数据文件是分开的。MyISAM引擎默认使用的是非聚簇索引。 如下图所示: emp表是通过I 阅读全文
posted @ 2021-11-08 20:38 cao_xiaobo 阅读(2539) 评论(0) 推荐(0) 编辑
摘要: 前言 首先思考一个问题,MySQL可以通过索引提高查询效率,但是有时候某个索引大到达几十个G远远超过了内存的容量MySQL不可能把整个索引全部加载到内存,然后通过查找算法(二叉查找)去查找,MySQL是如何处理这个问题的? 这里MySQL就用到了操作系统中页的概念,操作系统中页的概念是什么?就是加载 阅读全文
posted @ 2021-11-08 20:37 cao_xiaobo 阅读(1742) 评论(0) 推荐(0) 编辑
摘要: 对于开发人员来说,Mysql当中最重要的两部分,一个是索引,一个是事务。这两个是开发人员的必备技能。 1.索引有什么作用? 拿生活中的例子来说明一下,我们都用过新华字典,字典可以按拼音查找,也可以按笔划来查找,我们暂时把它叫做拼音索引和笔划索引。但是如果没有这两个“索引”,你可能在查找某个字的时候两 阅读全文
posted @ 2021-11-08 19:18 cao_xiaobo 阅读(241) 评论(0) 推荐(0) 编辑
摘要: Javaassist 就是一个用来处理 Java 字节码的类库。它可以在一个已经编译好的类中添加新的方法,或者是修改已有的方法,并且不需要对字节码方面有深入的了解。同时也可以去生成一个新的类对象,通过完全手动的方式。 引入依赖 <dependency> <groupId>org.javassist< 阅读全文
posted @ 2020-06-16 13:29 cao_xiaobo 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 一、使用示例 (1)创建一个XxxFilter,并实现com.alibaba.dubbo.rpc.Filter 这个类 public class MyDubboFilter implements Filter { public Result invoke(Invoker<?> invoker, In 阅读全文
posted @ 2020-06-16 13:24 cao_xiaobo 阅读(3155) 评论(2) 推荐(0) 编辑
摘要: 当一个应用既是一个服务的提供者,同时也是这个服务的消费者的时候,可以直接对本机提供的服务发起本地调用。从 2.2.0 版本开始,Dubbo 默认在本地以 injvm 的方式暴露服务,这样的话,在同一个进程里对这个服务的调用会优先走本地调用。 与本地对象上方法调用不同的是,Dubbo 本地调用会经过 阅读全文
posted @ 2020-06-16 13:18 cao_xiaobo 阅读(3330) 评论(0) 推荐(0) 编辑