نظرة عامة
ما الذي يعطّله وضع الأداء
تفعيل وضع الأداء
استخدام الكائن config
استخدام دوال مستوى الوحدة النمطية
استخدام تعليمات الاستيراد المختصرة
يؤدي تفعيل وضع الأداء تلقائيًا إلى ضبط محرك التنفيذ على
chdb. ولا تحتاج إلى استدعاء config.use_chdb() بشكل منفصل.متى تستخدم وضع الأداء
- تعالج مجموعات بيانات كبيرة (من مئات الآلاف إلى ملايين الصفوف)
- تشغّل أعباء عمل تعتمد بكثافة على التجميع (groupby, sum, mean, count)
- لا يكون ترتيب الصفوف مهمًا (مثل النتائج المجمّعة، والتقارير، ولوحات المعلومات)
- تريد أقصى معدل نقل لـ SQL وأقل قدر ممكن من الأعباء الإضافية
- يكون استخدام الذاكرة مصدر قلق (القراءة المتوازية لملفات
Parquet، وعدم وجود DataFrames وسيطة)
- تحتاج إلى سلوك pandas الدقيق (ترتيب الصفوف، وMultiIndex، وdtypes)
- تعتمد على أن
first()/last()يعيدان بالفعل الصف الأول/الأخير الفعلي - تستخدم
shift(),diff(),cumsum()التي تعتمد على ترتيب الصفوف - تكتب اختبارات تقارن مخرجات DataStore مع pandas
اختلافات في السلوك
ترتيب الصفوف
- نتائج التصفية
- نتائج التجميع في GroupBy
head()/tail()بدونsort_values()صريح- عمليات التجميع
first()/last()
sort_values() بشكل صريح:
نتائج GroupBy
التجميع
تنفيذ SQL باستعلام واحد
ColumnExpr باستخدام groupby (مثل ds[condition].groupby('col')['val'].sum()) باعتباره استعلام SQL واحدًا بدلًا من العملية المؤلفة من خطوتين المستخدمة في وضع Pandas:
مقارنة مع محرك التنفيذ
compat_mode) ومحرك التنفيذ (execution_engine) هما بُعدان مستقلان في الإعداد:
يؤدي ضبط
compat_mode='performance' تلقائيًا إلى تعيين execution_engine='chdb'، لأن وضع الأداء مُصمَّم لتنفيذ SQL.
الاختبار باستخدام وضع الأداء
الفرز ثم المقارنة (التجميعات، عوامل التصفية)
التحقق من نطاق القيم (الأولى/الأخيرة)
المخطط والعدد (LIMIT بدون ORDER BY)
أفضل الممارسات
1. فعِّل هذا في بداية البرنامج النصي
2. حدِّد الفرز صراحةً عندما يكون الترتيب مهمًا
3. استخدمه في أحمال العمل الدفعية/ETL
4. بدّل بين الأوضاع ضمن جلسة واحدة
- محرك التنفيذ — اختيار المحرك (auto/chdb/pandas)
- دليل الأداء — نصائح عامة لتحسين الأداء
- الاختلافات الرئيسية مقارنةً بـ pandas — اختلافات في السلوك