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.● ●