البدء السريع
تمكين التنميط
واجهة برمجة التطبيقات لـ Profiler
استرجاع Profiler
report()
ناتج المثال:
- المدة بالمللي ثانية لكل خطوة
- النسبة المئوية من وقت الخطوة الأب/إجمالي الوقت
- التداخل الهرمي للعمليات
- البيانات الوصفية لكل خطوة (مثلًا،
ops_countوops)
step()
clear()
summary()
فهم التقرير
أسماء الخطوات
المدة
- خطوات التخطيط (تخطيط الاستعلام): تكون عادةً سريعة
- خطوات التنفيذ (تنفيذ SQL): حيث يتم العمل الفعلي
- خطوات النقل (من النتيجة إلى DataFrame): تحويل البيانات إلى pandas
تحديد مواطن الاختناق
أنماط التنميط
حلّل استعلامًا واحدًا
حلّل عدة استعلامات
مقارنة بين الأساليب
نصائح لتحسين الأداء
1. تحقّق من وقت تنفيذ SQL
SQL execution هو موضع الاختناق:
- أضف المزيد من عوامل التصفية لتقليل حجم البيانات
- استخدم Parquet بدلًا من CSV
- تحقّق من وجود فهارس مناسبة (لمصادر البيانات المعتمدة على قواعد البيانات)
2. تحقّق من زمن I/O
read_csv أو read_parquet هو موضع الاختناق:
- استخدم Parquet (تنسيق عمودي ومضغوط)
- اقرأ الأعمدة المطلوبة فقط
- طبّق التصفية عند المصدر إن أمكن
3. تحقّق من نقل البيانات
to_df بطيئًا:
- قد تكون مجموعة النتائج كبيرة جدًا
- أضف المزيد من عوامل التصفية أو ضع حدًا
- استخدم
head()للمعاينة