Tutorial analisis query MongoDB Terbaik Pada tahun 2024, Dalam tutorial ini Anda dapat mempelajari Gunakan menjelaskan (),Gunakan petunjuk (),
MongoDB query dan analisis untuk memastikan efektivitas indeks diusulkan kami adalah alat penting untuk query analisis kinerja.
MongoDB analisis query fungsi umum digunakan adalah: menjelaskan () dan petunjuk ().
menjelaskan operasi menyediakan informasi query, menggunakan indeks dan permintaan statistik. Membantu kita untuk mengoptimalkan indeks.
Selanjutnya kita membuat jender indeks dan pengguna user_name dalam koleksi:
>db.users.ensureIndex({gender:1,user_name:1}) </p> <p>现在在查询语句中使用 explain :</p> <pre> >db.users.find({gender:"M"},{user_name:1,_id:0}).explain()
Atas menjelaskan () permintaan mengembalikan hasil sebagai berikut:
{ "cursor" : "BtreeCursor gender_1_user_name_1", "isMultiKey" : false, "n" : 1, "nscannedObjects" : 0, "nscanned" : 1, "nscannedObjectsAllPlans" : 0, "nscannedAllPlans" : 1, "scanAndOrder" : false, "indexOnly" : true, "nYields" : 0, "nChunkSkips" : 0, "millis" : 0, "indexBounds" : { "gender" : [ [ "M", "M" ] ], "user_name" : [ [ { "$minElement" : 1 }, { "$maxElement" : 1 } ] ] } }
Sekarang, kita melihat bidang hasil set:
Sementara MongoDB query optimizer umumnya bekerja sangat baik, tetapi Anda juga dapat menggunakan petunjuk untuk memaksa MongoDB menggunakan indeks tertentu.
Pendekatan ini akan meningkatkan kinerja dalam beberapa kasus. Indeks koleksi dan mengeksekusi query lebih dari satu bidang (beberapa bidang telah diindeks).
Contoh menggunakan query berikut menentukan bidang gender dan indeks user_name untuk query:
>db.users.find({gender:"M"},{user_name:1,_id:0}).hint({gender:1,user_name:1})
Anda dapat menggunakan fungsi menjelaskan () untuk mengurai pertanyaan di atas:
>db.users.find({gender:"M"},{user_name:1,_id:0}).hint({gender:1,user_name:1}).explain()