![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
知识深入理解
本栏目帮助巩固相关知识点,以便加深对理论的理解
菜鸟小学弟
这个作者很懒,什么都没留下…
展开
-
ThreadLoal深入分析
ThreadLocal是能够实现变量在多线程直接的操作互不干扰,是属于线程内部的局部变量。 那么它是如何做到的呢? 下面我们来分析源码。 1.0 public T get() { Thread t = Thread.currentThread(); ThreadLocalMap map = getMap(t); if (map != null) { ThreadLocalMap.Entry e = map.getEntry.原创 2021-05-28 09:36:56 · 95 阅读 · 0 评论 -
项目中的优化总结(各个方面都可以写)
面试时,说说项目中做了哪些优化过程。 项目中进行过sql调优吗?数据量有多少? 答:有,比如我们有一个业务列表查询,是查询采购计划单列表,其中一个查询条件商品名称是在采购计划单详情中。数据量左表8000多条数据,右表为12万左右。接口超时时间为1s。 第一步查看服务日志,正常调用了。 第二步骤查看网关服务超时了。 第三步骤分析代码,查看sql.在sql中执行,发现比较慢。 EXPLAIN select * from sys_user t1 LEFT JOIN sys_user_role t2 on .原创 2021-05-27 11:49:46 · 562 阅读 · 0 评论 -
Mysql联合索引,索引失效探究,索引下推原理分析。
我们都知道组合索引例如name_phone,名字和电话的组合索引,where name = xx and phone = 123这样严格的顺序才会使索引生效,像where phone = 123这样是不会走索引的。那么mysql是如何做的呢? 单值索引 联合索引 从上图可以看到: B+Tree 会优先比较 name 来确定下一步应该搜索的方向,往左还是往右。 如果 name相同的时候再比较 phone。 失效原因: 但是如果查询条件没有name,就不知道第一步应该查哪个节点,因为建立搜索树的时候.原创 2021-05-27 09:52:23 · 930 阅读 · 0 评论