简单描述:
直接进入了解属性模式。它特别适合如下的状况:数据结构
事实上考虑到性能方面的缘由,为了优化搜索可能须要许多索引才能照顾到这些子集。可是建立越多的索引也只会致使性能的降低。属性模式为这种状况提供了一个很好的解决方案。性能
实例:
一个订单数据文档,实际上是有不少须要记录的时间,好比建立时间,支付时间,发货时间等等。在设计数据结构的时候固然第一时间就会想到如图:优化
实际上这种设计在时间类型比较少的状况下是没有太大问题,可是结合了实际业务场景,一张订单的时间固然不会太少,有时候为了优化排序,不得不创建相应的因此,如今问题就来的,根据这么多字段逐个创建索引那可能创建不少,这样反而会下降总体查询的性能。那么这时候使用属性模式就很合适了。以下图:spa
若是订单数据结构考虑使用了这种模式后,就不须要反复为类似的字段子集创建索引,大大提升查询效率。设计
结论:
属性模式针对每一个文档中许多相似字段提供了更简单的文档索引。经过将这个数据子集移动到一个键值子文档中,咱们可使用不肯定的字段名,为信息添加额外的限定符,并更清楚地说明原始字段和值的关系。当咱们使用属性模式时,因为须要的索引更少,查询变得更简单更快。排序