0%

相关阅读:https://www.elastic.co/guide/en/elasticsearch/reference/7.4/dynamic-mapping.html

1. Mapping

Mapping 类似数据库中的 schema 的定义,作用如下:

  • 定义索引中的字段的名称
  • 定义字段的数据类型,例如字符串、数字、布尔…
  • 定义倒排索引相关的配置(采用的 Analyzer、是否被索引)
阅读全文 »

1. 倒排索引概念

下面我们已书本为例讲解正排索引和倒排索引的概念,如下图可以通过书本目录及其页面检索每个章节,书本目录相当于正排索引。

阅读全文 »

今天这篇文章来说一下怎么在两张表中拷贝数据。如果可以控制对源表的扫描行数和加锁范围很小的话,我们简单地使用 insert … select 语句即可实现。当然,为了避免对源表加读锁,还有几种更稳妥的方法。为了便于说明,我还是先创建一个表 db1.t,并插入 1000 行数据,同时创建一个相同结构的表 db2.t。

阅读全文 »

我们知道 MySQL Memory 引擎创建的是内存表,那么使用 Memory 引擎创建的内存表跟 InnonDB 创建的表有什么不同呢?使用内存表又有什么问题,今天就这些问题展开讨论下。

阅读全文 »

今天这篇文章,我就先给你举两个需要用到内部临时表的例子,来看看内部临时表是怎么工作的。然后,我们再来分析,什么情况下会使用内部临时表。

阅读全文 »

我们可以用使用 create temporary table ... 来创建临时表,今天我们就从这个问题说起:临时表有哪些特征,为什么它适合这个场景?

阅读全文 »

MySQL join 语句执行算法, 我和你介绍了 join 语句的两种算法,分别是 Index Nested-Loop Join(NLJ) 和 Block Nested-Loop Join(BNL)。我们发现在使用 NLJ 算法的时候,其实效果还是不错的,比通过应用层拆分成多个语句然后再拼接查询结果更方便,而且性能也不会差。但是,BNL 算法在大表 join 的时候性能就差多了,比较次数等于两个表参与 join 的行数的乘积,很消耗 CPU 资源。

阅读全文 »