未验证 提交 80ba66f5 编写于 作者: W wanganxp 提交者: GitHub

Update db-index.md

上级 305d136e
在集合中为查询条件的**字段**建立索引,是保证数据库性能、提升用户体验的重要手段。
## 什么是索引
如果您的查询操作包含了过滤条件(包含等值测试和范围过滤)或者是排序功能,则要考虑给集合添加索引。通常来说需要为以下方法/属性内用到的**字段**添加索引`where、match、orderBy、sort`,还包括clientDB内`getTree``getTreePath``startWith属性`
所有数据库都支持索引,索引文件通过额外占用磁盘空间,提供了一个快速查询记录的方案。查询时先查询索引文件,根据索引文件的指示再去查询真实的数据,在数据量较大时有明显的性能优势
如果相关字段没有设为索引,当数据表的记录数量变大后,查询会变慢甚至超时报错。
索引有两个用途:
1. 在集合中为查询条件的**字段**建立索引,是保证数据库性能、提升用户体验的重要手段。
2. 索引可以控制字段中各记录的唯一性。比如某字段被设为唯一索引,则这个字段在整个数据记录集合中的值不会有重复。如果是普通唯一索引,则意味着该字段不能为null。如果是稀疏索引,则代表可以为null,但不为null的值不能重复。
如果您的查询操作包含了过滤条件(包含等值测试和范围过滤)或者是排序功能,或者需要唯一性,则要考虑给集合的相关字段添加索引。通常来说需要为以下方法/属性内用到的**字段**添加索引`where、match、orderBy、sort`,还包括clientDB内`getTree``getTreePath``startWith属性`
如果相关字段没有设为索引,当数据表的记录数量变大后,查询会变慢甚至超时报错。这点尤其需要注意。已经有一些开发者遭遇线上故障。开发时没有配索引,因为数据量小而没有性能问题。上线后数据量越来越大,查询越来越慢,直到超时,引发线上事故。
## 添加索引
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册