环境:
单机,mongodb版本:4.2。2个独立的数据库,相同的表结构,相同数量的数据,字段的值可能不一样
表字段:
class JobSchema(BaseModel):
display_name: str
description: str = None
worker_num: int
status: str
tags: List = []
job_context: Dict = {}
project_id: str
creator: str
测试不同类型的字段加索引的查询效率
1.测试加索引和不加索引的查询效率
查询的sql:
db.job.find({"display_name":"vkSHIimrMXOWZU2R"})
数据量 | 有索引 | 无索引 |
---|---|---|
2w | 0.002 | 0.031 |
5w | 0.002 | 0.076 |
10w | 0.002 | 0.146 |
20w | 0.002 | 0.287 |
50w | 0.002 | 0.713 |
插入数据时间:
数据量 | 有索引 | 无索引 |
---|---|---|
5w | 69.38 | 67.9 |
10w | 138.39 | 136.29 |
30w | 413.16 | 410.11 |
2.dict字段加索引和普通字段索引对比
查询sql:
db.job.find({"uuid":109}) # uuid加索引
db.job.find({"job_context.id":1142386}) # job_context.id加索引
查询结果:2者运行时间是一样的