التقييم الكسول
مثال: التقييم الكسول مقابل التقييم الفوري
فوائد التقييم الكسول
- تحسين الاستعلام: تُجمَّع عمليات متعددة في استعلام SQL واحد مُحسَّن
- تمرير عوامل التصفية إلى المصدر: تُطبَّق عوامل التصفية على مستوى مصدر البيانات
- تشذيب الأعمدة: لا تُقرأ إلا الأعمدة المطلوبة
- القرارات المؤجلة: يمكن اختيار محرك التنفيذ في وقت التشغيل
- فحص الخطة: يمكنك معاينة الاستعلام أو تصحيح أخطائه قبل تنفيذه
محفّزات التنفيذ
المشغّلات التلقائية
أمثلة:
العمليات التي تظل مؤجلة التنفيذ
أمثلة:
التنفيذ على ثلاث مراحل
المرحلة 1: بناء استعلام SQL (كسول)
المرحلة 2: نقطة التنفيذ
المرحلة 3: عمليات DataFrame (إن وُجدت)
عرض خطط التنفيذ
explain() لمعرفة ما سيُنفَّذ:
Query
Response
verbose=True للاطلاع على مزيد من التفاصيل:
التخزين المؤقت
كيف يعمل التخزين المؤقت
إبطال التخزين المؤقت
التحكم اليدوي في التخزين المؤقت
المزج بين عمليات SQL وPandas
العمليات المتوافقة مع SQL
filter(),where()select()groupby(),agg()sort(),orderby()limit(),offset()join(),union()distinct()- عمليات الأعمدة (الحسابية، والمقارنة، ودوال السلاسل النصية)
العمليات الخاصة بـ Pandas فقط
apply()مع دوال مخصّصةpivot_table()مع عمليات تجميع معقّدةstack()،unstack()- العمليات على كائنات DataFrame بعد تنفيذها
مسارات المعالجة الهجينة
اختيار محرك التنفيذ
الوضع التلقائي (الافتراضي)
فرض استخدام محرك chDB
فرض استخدام محرك pandas
الآثار على الأداء
جيد: طبّق التصفية مبكرًا
سيئ: التصفية المتأخرة
جيد: اختر الأعمدة مبكرًا
جيد: دع SQL يقوم بالمهمة
ملخص أفضل الممارسات
- اربط العمليات قبل التنفيذ - أنشئ الاستعلام كاملًا، ثم شغِّله مرة واحدة
- طبّق التصفية مبكرًا - قلّل البيانات عند المصدر
- حدِّد الأعمدة المطلوبة فقط - يحسّن تشذيب الأعمدة الأداء
- استخدم
explain()لفهم التنفيذ - شخِّص المشكلة قبل التشغيل - دع SQL يتولى عمليات التجميع - ClickHouse مُحسَّن لهذا
- انتبه إلى محفزات التنفيذ - تجنّب التشغيل المبكر غير المقصود
- استخدم التخزين المؤقت بحكمة - افهم متى تُبطَل صلاحية التخزين المؤقت