From 91eab7445ec1f35915d8b97ab8e35d8e7f6467e6 Mon Sep 17 00:00:00 2001 From: Zhaoyang Date: Sat, 1 Jan 2022 10:01:27 +0800 Subject: [PATCH] Update ch12.md --- ch12.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch12.md b/ch12.md index e41ac27..2fdbd27 100644 --- a/ch12.md +++ b/ch12.md @@ -341,7 +341,7 @@ Unix和关系数据库以非常不同的哲学来处理信息管理问题。Unix [^iii]: 假设一个有限的语料库,那么返回非空搜索结果的搜索查询集合是有限的。然而,它是与语料库中的术语数量呈指数关系,这仍是一个坏消息。 -另一个选择是只为一组固定的最常见的查询预先计算搜索结果,以便它们可以快速地服务而不必去走索引。不常见的查询仍然可以通过索引来提供服务。这通常被称为常见查询的**缓存(cache)**,尽管我们也可以称之为**物化视图(materialized view)**,因为当新文档出现,且需要被包含在这些常见查询的搜索结果之中时,这些索引就需要更新。 +另一种选择是预先计算一组固定的最常见查询的搜索结果,以便可以快速提供它们而无需转到索引。不常见的查询仍然可以通过索引来提供服务。这通常被称为常见查询的**缓存(cache)**,尽管我们也可以称之为**物化视图(materialized view)**,因为当新文档出现,且需要被包含在这些常见查询的搜索结果之中时,这些索引就需要更新。 从这个例子中我们可以看到,索引不是写路径和读路径之间唯一可能的边界;缓存常见搜索结果也是可行的;而在少量文档上使用没有索引的类grep扫描也是可行的。由此来看,缓存,索引和物化视图的作用很简单:它们改变了读路径与写路径之间的边界。通过预先计算结果,从而允许我们在写路径上做更多的工作,以节省读路径上的工作量。