2019年,岁末。 又是一年岁末时。去岁元旦仿佛昨天。 回想这一年 新房交付、装修 订婚 奶奶去世 公司裁员 ...   不管怎样,明天会更好。 人生不如意事十之八九,常想一二! 努力!!! 加油!!! 2020年,你好呀。 2020年,我来了。

2019年12月31日 0条评论 1573点热度 0人点赞 阅读全文

1、主键索引索引着数据,然后普通索引索引着主键ID值(这是在innodb中,但是如果是myisam中,主键索引和普通索引是没有区别的都是直接索引着数据) 2、当你查询用的是where id=x 时,那只需要扫描一遍主键索引,然后拿到相应数据 但是如果是查询的普通索引的话,那么会先扫描一次普通索引,拿到主键值,然后再去扫主键索引,拿到所需要的数据,这个过程叫做回表  

2019年12月22日 0条评论 2524点热度 0人点赞 阅读全文

前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢?之前你可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢? 我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键 ID 和一个整型字段 c: mysql> create table T…

2019年12月22日 0条评论 1633点热度 0人点赞 阅读全文

一条SQL查询语句是如何执行的? 前言 ​ 大家好,我是WZY,今天我们学习下MySQL的基础框架,看一件事千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于MySQL 的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表里只有一个 ID 字段,在执行下面这个查询语句时: mysql> select * from T where ID=10; ​ 我们看到的只是输入一条语句,返回一个结果,却不知道这条语句在 MySQL 内部的执行过程。所以…

2019年12月22日 0条评论 1591点热度 0人点赞 阅读全文

概念 软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。 意义 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。 分类 根据目…

2019年12月13日 0条评论 1562点热度 0人点赞 阅读全文

创建索引 创建一个名为my_index的索引 PUT localhost:9200/my_index 创建映射 PUT localhost:9200/my_index/my_type/_mapping { "properties": { "name": { "type": "text" } } } 添加一个文档 PUT localhost:9200/my_index/my_type/2 { "name": "李锋镝" } 查询: GET localhost:9200/my_index/my_type/2 { "_i…

2019年12月11日 0条评论 1838点热度 0人点赞 阅读全文

路由一个文档到一个分片中 当索引一个文档的时候,文档会被存储到一个主分片中。Elasticsearch如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片1还是分片2中呢? 首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找了。实际上,这个过程是根据下面这个公式决定的: shard = hash(routing) % number_of_primary_shards routing是一个可变值,默认是文档的 _id ,也可以设置成一个自定义的值。 rout…

2019年12月4日 0条评论 1628点热度 0人点赞 阅读全文