1. 不要对MongoDB建太多的索引,既然选择了KV数据库,应尽量避免需要多个索引!! MongoDB的索引代价很大,大到什么程度: - 巨大的内存占用,100万条索引约占50M内存,如果这个设计中,你一个道具一条记录,5G内存将用于索引。
- 巨大的性能损失,作为一个数据库,所有的东西终将被写入硬盘,没有关系数据库那样的表结构,MongoDB的索引写入性能看起来很差,如果记录数据较小的时候,你可以观测到这样震撼的景象,加一个索引,性能变成了1/2,加两个索引,性能变成了1/3。
2. 查询时,尽量用filter指定你需要查的字段,而不是把整个节点取出!!
3. 同2类似,不要暴力的update整个节点,而是精细化地update指定的字段!!
|