- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
How to improve MongoDB performance with proper queries
在MongoDB中,有许多不同的方法可以使用查询来查找所需的数据。但是,了解哪些查询会降低性能可能是一个挑战。在本次网络研讨会中,我们将讨论以下内容:
如何使用find或findone函数和查询文档对数据库执行即席查询。
如何使用$-条件查询范围、设置包含、不等式等。
如何使用返回数据库光标的查询并对其进行排序,该查询可以根据需要惰性地返回成批的文档。
当对一个光标执行许多可用的元操作时,您会遇到什么陷阱,包括跳过一定数量的结果,并限制返回的结果数量。
在本次网络研讨会结束时,您将更好地了解哪些查询会影响性能,以及如何利用开放源代码工具来监控查询。
展开查看详情
1 .
2 .`whoami` { name: “tim”, lastname: “vaillancourt”, employer: “percona”, techs: [ “mongodb”, “mysql”, “cassandra”, “redis”, “rabbitmq”, “solr”, “kubernetes”, “mesos” “kafka”, “couch*”, “python”, “golang” ] }
3 .● ● ● ● ● ● ●
4 .
5 .● ●
6 .db.people.findOne() { "_id" : ObjectId("5bfd90b18791fb8236b8ab13"), "name" : "Joseph", "address_id" : ObjectId("5bfd90c58791fb8236b8ab14") } db.addresses.findOne() { "_id" : ObjectId("5bfd90c58791fb8236b8ab14"), "Street" : "Street Name", "number" : 100, "zip" : "ASDFG" }
7 .db.people.find().pretty() { "_id" : ObjectId("5bfd908a8791fb8236b8ab11"), "name" : "Joseph", "address" : { "street" : "Street Name", "number" : 100, "zip" : "ASDFG" } }
8 .● ●
9 .● ○ ○ ○
10 .
11 .● ●
12 .● > db.foo.find({name : 'Joseph'}) ● > db.foo.find({name : 'Joseph'}, {name: 1})
13 .● > db.foo.find({code : {$gte : 1, $lte: 10}}) > db.foo.find({code : {$in : [1,2,3,4,5,6,7,8,9,10]})
14 .● > db.foo.find({address : {$exists : true})
15 .● > db.foo.find({$and : [{name : 'Joseph'}, {address : {$exists : true}}]) > db.foo.find({name : 'Joseph', address : {$exists : true}})
16 .● ○ > db.foo.find({$or : [{code : 1}, {code : 2}]) > db.foo.find({code : {$in : [1,2]}) ● ●
17 .● > db.foo.find({name : /seph/}) ● > db.foo.find( { $text: { $search: "seph" } } )
18 .● > db.foo.find({name : /seph/, address : {$exists: true}, age : {$gte : 30}})
19 .
20 .● ●
21 . A-Z A-L M-Z A-G H-L M-S T-Z Q-S M-P
22 .● ●
23 .● ●
24 .● ● ● ● ○ ○
25 .● ○ ■ ○ ■
26 .●
27 .● ●
28 .● ○ ○
29 .● ●