面试题答案
一键面试- 创建索引:对频繁查询的特定字段创建索引,可显著提升查询速度。例如使用
db.collection.createIndex({specificField: 1})
语句创建升序索引 。 - 投影优化:只返回需要的字段,减少数据传输量。如
db.collection.find({specificField: "value"}, {specificField: 1, _id: 0})
,只返回特定字段,且不返回_id
字段。 - 分片:如果数据量巨大,进行分片处理,将数据分布在多个服务器上,减轻单个服务器压力,提升查询性能。可基于特定字段进行分片键的选择。
- 查询优化器提示:使用查询优化器提示来影响查询执行计划。如
db.collection.find({specificField: "value"}).hint({specificField: 1})
,明确告诉查询优化器使用特定索引。