Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
80ba66f5
U
uni-app
项目概览
DCloud
/
uni-app
2 个月 前同步成功
通知
717
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
80ba66f5
编写于
1月 29, 2021
作者:
W
wanganxp
提交者:
GitHub
1月 29, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update db-index.md
上级
305d136e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
10 addition
and
3 deletion
+10
-3
docs/uniCloud/db-index.md
docs/uniCloud/db-index.md
+10
-3
未找到文件。
docs/uniCloud/db-index.md
浏览文件 @
80ba66f5
在集合中为查询条件的
**字段**
建立索引,是保证数据库性能、提升用户体验的重要手段。
## 什么是索引
如果您的查询操作包含了过滤条件(包含等值测试和范围过滤)或者是排序功能,则要考虑给集合添加索引。通常来说需要为以下方法/属性内用到的
**字段**
添加索引
`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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录