相关阅读:https://www.elastic.co/guide/en/elasticsearch/reference/7.4/dynamic-mapping.html
1. Mapping
Mapping 类似数据库中的 schema 的定义,作用如下:
- 定义索引中的字段的名称
- 定义字段的数据类型,例如字符串、数字、布尔…
- 定义倒排索引相关的配置(采用的 Analyzer、是否被索引)
笨鸟先飞
相关阅读:https://www.elastic.co/guide/en/elasticsearch/reference/7.4/dynamic-mapping.html
Mapping 类似数据库中的 schema 的定义,作用如下:
相关阅读:https://www.elastic.co/guide/en/elasticsearch/reference/7.4/search-search.html
URI Search 顾名思义就是在 URL 中使用查询参数,例如:
1 | GET /movies/_search?q=2012&df=title&sort=year:desc&from=0&size=10&timeout=1s |
今天这篇文章来说一下怎么在两张表中拷贝数据。如果可以控制对源表的扫描行数和加锁范围很小的话,我们简单地使用 insert … select
语句即可实现。当然,为了避免对源表加读锁,还有几种更稳妥的方法。为了便于说明,我还是先创建一个表 db1.t,并插入 1000 行数据,同时创建一个相同结构的表 db2.t。
今天这篇文章,我们就来说说这个问题,看看什么情况下自增主键会出现 “空洞”?
我们知道 MySQL Memory 引擎创建的是内存表,那么使用 Memory 引擎创建的内存表跟 InnonDB 创建的表有什么不同呢?使用内存表又有什么问题,今天就这些问题展开讨论下。
今天这篇文章,我就先给你举两个需要用到内部临时表的例子,来看看内部临时表是怎么工作的。然后,我们再来分析,什么情况下会使用内部临时表。
在 MySQL join 语句执行算法, 我和你介绍了 join 语句的两种算法,分别是 Index Nested-Loop Join(NLJ) 和 Block Nested-Loop Join(BNL)。我们发现在使用 NLJ 算法的时候,其实效果还是不错的,比通过应用层拆分成多个语句然后再拼接查询结果更方便,而且性能也不会差。但是,BNL 算法在大表 join 的时候性能就差多了,比较次数等于两个表参与 join 的行数的乘积,很消耗 CPU 资源。