人生 = 思维方式 x 热情 x 能力
-
体验chinner,国人开源的数据库设计工具,干掉powerdesigner
chiner支持windows、mac、linux,安装chiner,维护数据类型,维护数据表,维护关系图
-
索引失效的10种场景
不满足最左匹配原则,使用了select *,索引列上有计算,索引列上用了函数,字段类型不同,like左包含%,列对比,使用了or关键字,not in和not exists,order by 的坑必须带有where或者limit关键字
-
HashSet如何保证元素不重复
它会调用元素类的hashcode与equal方法进行判断元素是否已存在
-
实战!工作中常用到哪些设计模式
策略模式Strategy,责任链模式chain of responsiblity,模版方法模式template method,观察者模式Observer,工厂模式factory,单例模式singleton
-
接口性能优化的18种方案
批量操作数据库,异步思想,使用缓存,提前初始化到缓存,池化思想,事件回调思想,远程调用改为并行,锁粒度避免过粗,切换存储方式,索引,优化sql,避免大事务,优化深度分页问题,优化程序逻辑结构,压缩传输响应内容,海量数据处理,线程池设计要合理,fullGC,线程打满,太多IO请求,限流请求
-
接口性能优化的11个技巧
添加索引,让索引生效,sql优化,远程调用使用并行、redis缓存数据异构方案,避免重复调用如循环查询数据库、无限递归,异步处理,避免大事务,synchronzied和redis分布式锁控制好锁粒度,远程调用分页查询数据,redis缓存与二级缓存的使用,分库分表解决数据库连接资源不足、磁盘IO的性能瓶颈、检索数据耗时和消耗cpu资源等问题,辅助功能开启慢查询日志、prometheus普罗米修斯监控、skywalking接口链路跟踪快速定位耗时问题
-
Springboot实现各种参数校验,Valid和Validated注解的使用
post、put、get请求的传参数校验,分组校验,嵌套校验,集合校验,自定义校验,编程式校验,校验快速失败,实现原理解析
-
Mybatis-plus支持分库分表啦
继shardingsphere后,mybatis-plus也支持客户端级别的分库分表了,
-
shardingsphere轻松搞定敏感数据读写
Apache ShardingSphere 框架下的数据脱敏模块,对SQL进行解析拦截,实现数据加解密,自定义脱敏工具类
-
sql优化的15个小技巧
避免使用select*,union all代替union,小表驱动大表in/exists,批量操作,多用limit,in值太多,增量查询,高效分页,用连接查询替代子查询,join时要注意大小表,控制表索引的数量,选择合理的字段类型,缩小数据范围提升groupby的效率,explain分析执行计划避免索引失效,show profile分析sql语句耗时,sql语句执行慢的3个原因