跳到主要内容
CNode

MongoDB数据库其中一个表有1千万条数据,非Id查询非常缓慢,有啥提高性能的方法

问答
Xxiashulin发布于 11 年前最后回复 11 年前
17122270

一次查询要几十秒啊,除了升级服务器内存,还有啥好办法啊,不要说分表、转移数据之类的方法

查看回复

回复 (17)

W
wenbob#1711 年前

數據多,就建index。

如果數據多到建了index還是卡,那就說明要加節點了,用集羣的併發解決問題

——這一招叫做“乾坤一擲”,有立竿見影的效果,就看你老闆是不是批准了。

1
103777673#1511 年前

数据量过大mongo查询不灵的,建mysql映射表,查询出主键,通过主键调取mongo的数据

D
DavidCai1993#1411 年前

索引就是为数据量大时准备的啊~

X
xiashulin#1311 年前

当数据量太大的时候,建索引都卡死

X
xinyu198736#1211 年前

这么多数据,看文档大小,如果文档比较大,建索引有效果,但是查询也不会快到哪去。

P
pangguoming#1111 年前

分片就是了

F
fancylife#1011 年前

根据你的业务查询条件增加联合索引,例如: http://docs.mongodb.org/manual/core/index-compound/

K
klausgao#911 年前

马克 自豪地采用 CNodeJS ionic

D
dayuoba#811 年前

除了升级服务器内存

见索引是用内存的

X
xiashulin#711 年前

嗯,大家的建议是对的,加了索引,效果真心不错

H
haozxuan#611 年前

对关键字段加索引,会有惊喜哟。(推荐看下mongodb权威指南,第二版)

A
Acceptedlc#511 年前

贴一下explain的结果啊 自豪地采用 CNodeJS ionic

F
fish748#411 年前

建索引呗。

L
leapon#311 年前

加 index 了嘛?考虑上多字段的index。

X
xiashulin#211 年前

@chloe 嗯,这个可以有

C
chloe#111 年前

db.collection.explain().find(query) 分析一下为什么慢,然后建立合理的索引

http://docs.mongodb.org/manual/reference/method/db.collection.explain/#db.collection.explain

参与回复

登录后即可参与回复。登录