منصوبے کے بارے میں

django-query-optimizer ایک ایسا ٹول ہے جسے Django ORM کی کارکردگی کا تجزیہ اور اسے بہتر بنانے کے لیے ڈیزائن کیا گیا ہے۔ یہ ڈیٹا بیس کی عام رکاوٹوں جیسے کہ N+1 queries، ڈپلیکیٹ SQL execution، اور سست کوئریز کی شناخت کرتا ہے، اور ان کے حل کے لیے ٹھوس تجاویز فراہم کرتا ہے (مثلاً select_related() یا prefetch_related() کا استعمال)۔ اہم صلاحیتوں میں شامل ہیں: - Query Collection: ایک thread-safe context manager اور HTTP middleware تاکہ SQL queries، execution duration، اور Python stack traces کو کیپچر کیا جا سکے۔ - Specialized Detectors: عام سست/ڈپلیکیٹ کوئریز، N+1 patterns، ForeignKey lookup repetitions، اور DRF serializer کے مخصوص N+1 مسائل کے لیے بلٹ ان تجزیہ۔ - Integration Points: - Django Admin: سیشن لسٹس اور ٹاپ سست کوئریز دیکھنے کے لیے ایک ڈیش بورڈ۔ - pytest: ایک پلگ ان جو `--query-analysis` فلیگ اور `query_collector` fixture فراہم کرتا ہے تاکہ ٹیسٹ میں کوئری کی تعداد اور کارکردگی کی تصدیق کی جا سکے۔ - VS Code: ایڈیٹر میں ان لائن وارننگز کے طور پر تشخیص ظاہر کرنے کے لیے SARIF 2.1.0 آؤٹ پٹ کی سپورٹ۔ - Scoring: ORM کی کارکردگی کو quantifying کرنے کے لیے لیٹر گریڈز (A-F) کے ساتھ ایک ہیلتھ اسکورنگ سسٹم (0-100)۔ یہ ٹول ڈویلپمنٹ ماحول کے لیے ہے اور QueryCollector اور QueryAnalyzer کے ذریعے کسٹم تجزیہ کے لیے ایک پبلک API فراہم کرتا ہے۔