Blog

Phân tích truy vấn trong MongoDB

Last updated on November 2nd, 2022 at 09:31 am

Việc phân tích các truy vấn là một khía cạnh rất quan trọng để đánh giá tính hiệu quả của Database và tính hiệu quả của chỉ mục đã thiết kế. Chúng ta sẽ tìm hiểu hai truy vấn được sử dụng thường xuyên nhất là $explain $hint.

Sử dụng $explain trong MongoDB

Toán tử $explain cung cấp thông tin về truy vấn, các chỉ mục được sử dụng trong truy vấn và một số thống kê khác. Toán tử này khá có ích khi cần phân tích xem các chỉ mục của bạn đã được tối ưu hóa như thế nào.

Trong chương trước, chúng ta đã tạo một chỉ mục cho users collection trên các trường genderuser_name với truy vấn sau:

>db.users.ensureIndex({gender:1,user_name:1})

Bây giờ, bạn sử dụng $explain trên truy vấn sau:

>db.users.find({gender:"M"},{user_name:1,_id:0}).explain()

Truy vấn trên sẽ cho kết quả đã qua phân tích như sau:

{ "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 } ] ] }}

Nhìn vào các trường trong tập kết quả này:

Giá trị true của indexOnly chỉ rằng truy vấn này đã sử dụng việc lập chỉ mục.

Trường cursor xác định kiểu con trỏ được sử dụng. Kiểu BTreeCursor chỉ rằng một chỉ mục được sử dụng và cũng cung cấp tên của chỉ mục đã được sử dụng đó. BasicCursor chỉ rằng một full scan đã được thực hiện mà không sử dụng bất kỳ chỉ mục nào.

Số n chỉ ra số Document đã được so khớp trong kết quả trả về.

nscannedObjects chỉ tổng số Document đã được quét.

nscanned chỉ tổng số Document hoặc chỉ mục đã được quét.

Sử dụng $hint trong MongoDB

Toán tử $hint ép Query Optimizer để sử dụng chỉ mục đã xác định để chạy một truy vấn. Nó đặc biệt hữu ích khi bạn muốn kiểm tra hiệu suất của một truy vấn với các chỉ mục khác nhau. Ví dụ, truy vấn sau xác định chỉ mục trên các trường gender và user_name để được sử dụng cho truy vấn này:

>db.users.find({gender:"M"},{user_name:1,_id:0}).hint({gender:1,user_name:1})

Để phân tích truy vấn trên, bạn sử dụng toán tử $explain trong MongoDB:

>db.users.find({gender:"M"},{user_name:1,_id:0}).hint({gender:1,user_name:1}).explain()

Nguồn: Internet

Chúng tôi chuyên cung cấp những khóa học về Phân tích dữ liệu, đăng ký ngay để nhận được tư vấn chi tiết lộ trình dành riêng cho bạn nhé!

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Data Pola Mahjong Ways Terhadap Frekuensi Scatter yang Bisa Jadi Acuan Dinamika Tempo Permainan Terhadap Probabilitas Dan Pengambilan Keputusan Mengenal Pola Olympus Gate Tanpa Banyak Teori Efektivitas Keputusan Bermain Berdasarkan Jejak Statistik Pola Setiap Sesi Adaptasi Strategi Pemain Menghadapi Pergeseran Ritma Perilaku Elemen Digital Dinamika Distribusi Simbol Mengukur Potensi Siklus Pola Putaran Yang Makin Menarik Evaluasi Pergeseran Algoritma RNG Membentuk Peluang Putaran Persentase Teoritis Kajian Perilaku Kompetitif Pemain yang Membuat Putaran Berulang Membentuk Momentum Transisi Panduan Pemula Masuk Dunia Kasino Online Terbaru Setelah Update Pendekatan Statistik dalam Sesi Bermain Kasino Online Merespons Perubahan Formasi Reel Analisis Kemunculan Multiplier Sweet Bonanza Melalui Pendekatan Ritme Dinamis Starlight Princess Sajikan Scatter Ketika Fenomena Pola yang Sering Berubah-ubah Formasi Black Scatter Fitur Mahjong Wins 3 Mengukur Potensi Kemenangan Besar Pengelolaan Ritme Reel Membuka Peluang Strategis Dalam Meningkatkan Efektivitas Keputusan Pemain Menilai Efektivitas Kasino Online Terhadap Responsivitas Fitur Putaran Otomatis Mahjong Ways Evolusi Visual Integrasi Animasi Tradisional ke Distribusi Winrate Stabil Mengenal Pola Kartu Baccarat Kasino Online Tanpa Banyak Teori Analisis Pengaruh Ritme Pola Gates Of Olympus Terhadap Peluang Turunnya Multiplier Mengukur Efektivitas RNG Mahjong Wins Dalam Membaca Pergeseran Algoritma Cai Shen Wins Yang Menawarkan Hujan Koin Beri Dampak Terhadap Tingkat Retensi Pengguna Dinamika Pergeseran Simbol Starlight Princess Saat Tempo Mulai Dipercepat Secara Berkala Mengenal Black Scatter Mahjong Wins 3 Tanpa Pola Ribet Panduan Visual Membaca Pergerakan Formasi Mahjong Ways Tanpa Harus Bergantung Pada Teori Rumit Pemetaan Pola Dinamis dalam Membaca Perubahan Struktur Interaksi Digital Strategi Mengelola Momentum Taruhan Menggunakan Fitur Putaran Otomatis Yang Lebih Stabil Black Scatter RTP Yang Menawarkan Hasil Optimal Serta Peluang Jangka Panjang Distribusi Probabilitas Perkembangan Teknologi Bawa Baccarat ke Algoritma Sistem Otomatis Evaluasi Efektivitas Interaksi Digital Kemunculan Black Scatter Secara Beruntun Mengenal Pola Gold Scatter Starlight Princess Tanpa Banyak Teori Transformasi Mekanisme Sistem Dalam Stabilitas Persentase Peluang Kemenangan Pemain bujangjp slotsensa slot88 slot4d slot4d slot4d sv388 slot88 suhubet demo slot slot4d demo slot https://fabritec.pe/asesor.php suhubet bujangjp https://kibf.pk/ slotsensa buku303 slot4d sbobet slot gacor slot gacor slot gacor totogacor slot thailand https://www.jms.ac.in/admission-procedure/ slot gacor slot luar negeri slot gacor 4d totogacor slotsensa slot gacor slot gacor slotsensa https://adibintanpermata.com/ slot dana slot dana https://united-mgroup.com/ https://cliffcrestinn.com/ slot resmi demo slot totogacor totogacor demo slot slot 4d totogacor totogacor demo slot totogacor slot thailand totogacor bujangjp situs gacor 4D situs gacor Situs Gacor 4D Thailand Situs Gacor 4D SLOT4D bujangjp