Visual Explain — एक नज़र में plans पढ़ें
Color-coded stage cards, cost ratio chips, और per-stage glyphs ताकि एक plan का सबसे ख़राब stage JSON पढ़े बिना सामने आ जाए।
यह क्या दिखाता है
हर aggregation/find plan stage cards के एक tree के रूप में render होता है। हर card 4 visual signals लेता है: बायीं ओर 4px का एक रंगीन accent bar (good/warn/bad grade), stage type पहचानने वाला एक glyph (IXSCAN के लिए Key icon, COLLSCAN के लिए Warning, SORT के लिए SortAscending, आदि), जब docsExamined उपलब्ध हो तो examined/returned ratio के साथ एक chip, और IXSCAN-family stages के लिए एक index name chip।
इसे कैसे खोलें
- किसी collection पर कोई भी workspace tab खोलें (Documents, Aggregation, आदि)।
- Query Bar में अपनी query type करें या Aggregation builder में एक pipeline बनाएँ।
- "Explain" (top-right) पर क्लिक करें। Plan एक tree के रूप में खुलता है।
- किसी भी cost-ratio chip पर hover करें यह देखने के लिए कि उस stage को अपना grade क्यों मिला (full collection scan, low selectivity, dominant time share, आदि)।
Cost grades
NoSqlStudio हर stage को good (कुशल), warn (शायद बर्बादी), या bad (निश्चित रूप से ग़लत) के रूप में grade करता है — priority order में लागू, पहला match जीतता है:
| रंग | अर्थ | Trigger |
|---|---|---|
| 🟢 हरा | कुशल stage | IXSCAN / EXPRESS_IXSCAN / IDHACK / FETCH |
| 🟡 पीला | शायद बर्बादी — समीक्षा करें | Small COLLSCAN, in-memory SORT, कम index selectivity (<10%), stage कुल समय का >30% हावी होता है |
| 🔴 लाल | निश्चित रूप से ग़लत — ship करने से पहले ठीक करें | >1000 docs पर COLLSCAN, 32MB threshold से अधिक in-memory SORT |
Cost ratio chip पढ़ना
Chip दिखाता है "examined → returned · X%" — examined docs का प्रतिशत जो वास्तव में वापस आए। अंगूठे का नियम:
- > 50%: index इस query के लिए अच्छी तरह से आकारित है।
- 10–50%: सीमारेखा — ad-hoc queries के लिए स्वीकार्य हो सकता है; hot paths के लिए index rebuild करें।
- < 10% examined > 100 के साथ: warn — index का ग़लत shape (composite index गायब, ग़लत sort order, आदि)।
वर्क्ड उदाहरण
इस query को 1M-doc orders collection के विरुद्ध चलाएँ जिसमें composite index नहीं है:
db.orders.find({ status: 'paid', userId: ObjectId('...') })आपको plan के नीचे एक लाल COLLSCAN card दिखेगा ("Full collection scan over >1000 documents — likely missing an index")। { status: 1, userId: 1 } पर composite index बनाएँ और re-run करें — plan अब 99% cost ratio के साथ एक हरा IXSCAN दिखाता है।