说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型..... 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必.因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视这些优化建议,并在实际业务场景下合理的运用. MySQL逻辑架构 如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器.下图展示了MySQL的逻辑架构图…
文档更新原理:       PUT 一条数据的时候,如果是全量替换,ES并不会覆盖原来的文档,而是新创建一个文档,并将version+1,原文档标记为deleted,不会立刻物理删除.ES会在集群的deleted文档越来越多的时候,集中把它们物理删掉,以释放空间.…
作用 MySQL索引可以分为:主键索引.普通索引.唯一索引.全文索引.其中,全文索引应该是是比较特殊的,它只有少数的几个存储引擎支持,且只有类型为char.vchar.text的列能建立全文索引.以前,只有MyISAM引擎支持全文索引,现在InnoDB也可以用了. 一般情况,对于模糊查询的情况最容易想到的就是 where  ... like %_... 这样.确实,like 关键字在大都数情况下都能完成需求,但是在列的内容十分大的时候,like的性能就不能令人满意了,因为这个关键字并没有保证每次…
ElasticSearch集群环境下新增文档如何确认该文档被分配到哪个分片中? 路由算法: ⾸先这肯定不会是随机的,否则将来要获取⽂档的时候我们就不知道从何处寻找了.实际上,这个过程是根据下⾯这个公式决定的: shard = hash(routing) % number_of_primary_shards routing 是⼀个可变值,默认是⽂档的 _id ,也可以设置成⼀个⾃定义的值. routing通过 hash 函数⽣成⼀个数字,然后这个数字再除以 number_of_primary_sh…
文氏电桥振荡电路(Wien bridge oscillator circuit),简称"文氏电桥",是一种适于产生正弦波信号的振荡电路之一,此电路振荡稳定且输出波形良好,在较宽的频率范围内也能够容易调节,因此应用场合较为广泛. 如下图所示为基本文氏电桥振荡电路: 其中,R1.R2.C1.C2组成的RC串并网络将输出正反馈至同相输入端,R3.R4则将输出负反馈至运放的反相输入端,电路的行为取决于正负反馈那一边占优势(为便于分析,通常都假设R1=R2=R且C1=C2=C,当然这并不是必须的…
我们开发任何一个Spring Boot项目,都会用到如下的启动类 1 @SpringBootApplication 2 public class Application { 3 public static void main(String[] args) { 4 SpringApplication.run(Application.class, args); 5 } 6 } 从上面代码可以看出,Annotation定义(@SpringBootApplication)和类定义(SpringAppli…
1. 什么是Lightning Component框架? Lightning Component框架是一个UI框架,用于为移动和台式设备开发Web应用程序.这是一个单页面Web应用框架,用于为Lightning Platform应用程序构建具有动态,响应式用户界面的单页应用程序.它在客户端使用JavaScript,在服务器端使用Apex. Lightning Component作为Web应用框架,可以轻松的创建自定义应用程序,而不必自己编写全部代码.常用的Web应用程序框架有很多, 例如:Rub…
当多线程访问共享可变数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要线程封闭出场了. 数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程中而避免使用同步的技术称为线程封闭. 本文主要介绍线程封闭中的其中一种体现:ThreadLocal,将会介绍什么是 ThreadLocal:从 ThreadLocal 源码角度分析,最后介绍 ThreadLocal 的应用场景. 什么是 ThreadLocal? ThreadLocal 是 Java 里一种特殊变量,…
一.WebSocket 由来 WebSocket 是一个持久化的协议,通过第一次 HTTP Request 建立连接之后,再把通信协议升级成 websocket,保持连接状态,后续的数据交换不需要再重复请求.websocket 可以看成一种类似 TCP/IP 的 socke t技术,在 web 应用中实现.并获得同 TCP/IP 通信一样的双向通信功能,因此客户端既和服务器可以发送消息也可以接收消息,同时还支持多路复用的功能,由于它借用了 HTTP 协议的一些概念,所以被称为 WebSocket…
RPC原理解析 什么是RPC RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在,如TCP/IP或UDP,为通信程序之间携带信息数据.RPC将原来的本地调用转变为调用远端的服务器上的方法,给系统的处理能力和吞吐量带来了近似于无限制提升的可能.在OSI网络通信模型中,RPC跨域了传输层和应用层.RPC使得开发包括网络分布式多程序在内的应用程序更加容易…