摘要: 一、前引 相信大家 MySQL 都用了很久了,各种 join 查询天天都在写,但是 join 查询到底是怎么查的,怎么写才是最正确的,今天我就和大家一起学习探讨一下 二、索引对 join 查询的影响 1. 数据准备 假设有两张表 t1、t2,两张表都存在有主键索引 id 和索引字段 a,b 字段无索 阅读全文
posted @ 2023-07-25 18:33 yifanSJ 阅读(990) 评论(0) 推荐(0) 编辑
摘要: 1. List哪些实现类 Java List一共三个实现类分别是ArrayList、Vector和LinkedList。 (1) ArrayList是最常见用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力, 阅读全文
posted @ 2023-07-25 18:27 yifanSJ 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 1. 如何将1千万个数据加到List中 ArraysList可以存下,但是效率低,可以使用LinkedList。 2. 两个1千万List如何找到,A中有,但B中没有的元素。 可以将List转成HashSet,使用HashSet的retainAll方法。retainAll作用是保留集合中与另一个集合 阅读全文
posted @ 2023-07-25 18:25 yifanSJ 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 问题:当出现某些特殊场景,一个事务A需要在未提交之前,一定要读取的是事务B提交的最新数据,该如何处理? 在MySQL中,事务隔离级别:读未提交、读提交、可重复读、串行化。 一、读未提交 读未提交会读到其它线程未提交的脏数据,虽然可以一直读到数据,但大部分都是脏数据,所以无法保证是最新有效的数据。 二 阅读全文
posted @ 2023-07-25 18:05 yifanSJ 阅读(162) 评论(0) 推荐(1) 编辑
摘要: JDK动态代理:是Java标准库提供的一种动态代理实现方式,基于接口生成代理对象。使用Proxy类和InvocationHandler接口来创建代理对象,被代理的类必须实现接口。 CGlib动态代理:使用CGLib库实现,通过生成目标类的子类来创建代理对象。不需要目标类实现接口,可以直接代理普通类。 阅读全文
posted @ 2023-07-25 16:55 yifanSJ 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 这是一篇学习后的心得分享,在正文之前,我们需要对一些索引的基本概念进行说明讲解。 1. 什么是索引? 索引(在 MySQL 中也叫“键key”)是存储引擎快速找到记录的一种数据结构,通俗来说类似书本的目录,这个比方虽然被用的最多但是也是最恰如其当的,在查询书本中的某个知识点不借助目录的情况下,往往都 阅读全文
posted @ 2023-07-25 14:37 yifanSJ 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 比较简单的是单列索引(b+tree)。遇到多条件查询时,不可避免会使用到多列索引。联合索引又叫复合索引。 b+tree结构如下: 每一个磁盘块在mysql中是一个页,页大小是固定的,mysql innodb的默认的页大小是16k,每个索引会分配在页上的数量是由字段的大小决定。当字段值的长度越长,每一 阅读全文
posted @ 2023-07-25 13:42 yifanSJ 阅读(84) 评论(0) 推荐(0) 编辑