当前位置:首页>开发>正文

java中的mongoDB怎么分页,要代码,数据量较大 Mongodb的MapReduce很慢,有没有办法提高性能

2023-07-05 05:10:58 互联网 未知 开发

 java中的mongoDB怎么分页,要代码,数据量较大 Mongodb的MapReduce很慢,有没有办法提高性能

java中的mongoDB怎么分页,要代码,数据量较大

Listresult = new ArrayList() if (tableName.length() > 0) { if (cursor == null) { coll = db.getCollection(tableName) cursor = coll.find().skip(skipNum).limit(num) } while (cursor.hasNext()) { BasicDBObject o = (BasicDBObject) cursor.next() result.add(o) } } 但是调用出现了问题: 我这样查, List list1 = mongoDao.queryWithNum(LuceneTest.tableName, 100,100) List list2 = mongoDao.queryWithNum(LuceneTest.tableName, 200,100) System.out.print("--结束,共" list1.size() "条---" "--") System.out.println(list2.size())

Mongodb的MapReduce很慢,有没有办法提高性能

发现了一个简单办法可以大幅提高mongodb mapreduce的速度,以前我在一台机器上只部署了一个mongod的数据库实例,起始如果机器配置可以的话,可以在一台机器上多配几个Mongod数据库实例,把他们用分片的形式加到集群中就可以了。
这样就相当于多进程操作了,避免了js单进程的尴尬。
如果机器的cpu是12核的可以起6-8个mongod,根据测试发现再多个mongod对于速度的影响不升反降。据我分析之前是因为单进程操作,是因为单个cpu达到瓶颈。
改成多进程后,达到磁盘i/o瓶颈后速度就没法提升了。

mongodb同时实现分组和分页

参考代码:
var pipeline =[
{
$match: {
sjbh: {$gte: beginDate, $lte:endDate}
}
},
{
$group: {
_id: "$gsbh",
totaltxl: {$sum: { $cond: { if: { $ne: [ "$totalnum","" ] }, then:"$txl" , else: 0 }}},
totalbmynum: {$sum: "$bmynum"}
}
},
{
$project: {
_id: 0,
gsbh: "$_id",
totaltxl: "$totaltxl",
totalbmynum: "$totalbmynum",
ratio: { $divide: [ "$totalbmynum", { $cond:{if: { $eq: [ "$totaltxl",0 ] }, then:1 , else: "$totaltxl" }}] }
}
},
{$sort: {ratio: -1}},
{$limit: 5}
{$skip : 5}
]

opts.dbs.csdb.collection("permydfx").aggregate(pipeline).......

MongoDB 2d空间索引怎么分页显示

您好,我来为您解答,写法如下:

现在MongoDB还不支持。参见tickets SERVER-3925 和 SERVER-5800。

你可以在JIRA上跟踪这个feature, 也可以给它们投票。

如果我的回答没能帮助您,请继续追问。

mongodb hbase redis 哪个更强大


hbase,mongodb,redis都属于nosql型存储方案。在实际的项目实践上看,他们的系统存储及处理的数量由大到小。
HBase基于列存储,提供三项坐标方式定位数据,由于其qualifier的动态可扩展型(无需schema设计,可存储任意多的qualifier),特别适合存储稀疏表结构的数据(比如互联网网页类)。HBase不支持二级索引,读取数据方面只支持通过key或者key范围读取,或者全表扫描。

MongoDb在类SQL语句操作方面目前比HBase具备更多一些优势,有二级索引,支持相比于HBase更复杂的集合查找等。BSON的数据结构使得处理文档型数据更为直接。MongoDb也支持mapreduce,但由于HBase跟Hadoop的结合更为紧密,Mongo在数据分片等mapreduce必须的属性上不如HBase这么直接,需要额外处理。
HBase与Mongodb的读写性能正好相反,HBase写优于随机读,MongoDB似乎写性能不如读性能。

Redis为内存型KV系统,处理的数据量要小于HBase与MongoDB

最新文章

随便看看