نظرة عامة
ما الذي يعطّله وضع الأداء
تمكين وضع الأداء
استخدام كائن الإعداد
استخدام دوال الوحدة
استخدام عبارات الاستيراد الجاهزة
يؤدي تفعيل وضع الأداء تلقائيًا إلى ضبط محرك التنفيذ على
chdb. ولا حاجة إلى استدعاء config.use_chdb() بشكل منفصل.متى تستخدم وضع الأداء
- تعالج مجموعات بيانات كبيرة (من مئات الآلاف إلى ملايين الصفوف)
- تشغّل أحمال عمل كثيفة التجميع (groupby, sum, mean, count)
- لا يهم ترتيب الصفوف (مثلًا: النتائج المجمّعة، والتقارير، ولوحات المعلومات)
- تريد أقصى إنتاجية SQL وأدنى عبء إضافي ممكن
- يكون استخدام الذاكرة مصدر قلق (قراءة Parquet المتوازية، ومن دون DataFrames وسيطة)
- تحتاج إلى سلوك pandas الدقيق (ترتيب الصفوف، وMultiIndex، وأنواع البيانات)
- تعتمد على أن
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 — فروق سلوكية