تحسين المكعب للوضع المختلط

لاستخدام الوضع المختلط بشكل فعال:

  • تجنب استخدام عمليات الحساب ثنائية المراحل في الوضع المختلط. استخدم ترتيب الحل بدلاً من ذلك.

  • تحويل الأعضاء المخزنة بخلاف المستوى 0 إلى عملية حسابية ديناميكية حيثما أمكن.

  • إذا كان التحويل إلى أعضاء حساب ديناميكيين يؤثر على ترتيب الحل للمعادلات المستقلة، فقد تحتاج إلى تعديل ترتيب الأبعاد في الإطار العام ليتسق ترتيب الحل مع ترتيب حساب الدفعة السابق وإعدادات عملية الحساب ثنائية المراحل.

    ترتيب الحل الافتراضي لمكعبات الوضع المختلط يشبه ترتيب الحساب لمكعبات تخزين الكتل مع بعض التحسينات. إذا أردت استخدام ترتيب حل غير افتراضي، يمكنك تعيين ترتيب حل مخصص للأبعاد والأعضاء.

  • قد تتسبب معالجة معادلة تم احتسابها ديناميكيًا بترتيب الحل الخطأ في تنفيذ الكثير من المعادلات بواسطة استعلام، مما يؤدي لتراجع الأداء. كلما أمكن، يجب أن يكون للمعادلة المتفرقة التي تم احتسابها ديناميكيًا ترتيب حل أعلى من الأبعاد المتفرقة التي تم تجميعها بالتدريج.

    في بعض التطبيقات، لا يمكن هذا، لأنه من الضروري وجود ترتيب حل مختلف للحصول على نتائج المعادلة الصحيحة. على سبيل المثال، يجب أن يكون لتطبيق يتضمن أسعار ووحدات قيمة مبيعات تم تنفيذها قبل تجميعات الأبعاد المتفرقة للحصول على قيمة المبيعات الصحيحة في المستويات العليا.

  • قد تحتاج لتعديل تكوينات الأبعاد المتفرقة أو الكثيفة (تنطبق فقط على استخدام محرك تخزين الكتل في الحالات حيث لا يمكن استخدام المحرك المختلط).

  • قلل حجم الكتل إن أمكن.

يمكن لمسؤولي Essbase استخدام الأدوات التالية لمراقبة أداء الاستعلام وتحسينه في الوضع المختلط:

  • للحد من مساحة الذاكرة التي يمكن أن يستخدمها الاستعلام الواحد، استخدم إعداد التكوين MAXFORMULACACHESIZE.

  • إذا كان مكعبك يحتوي على معادلات أعضاء معقدة بعوامل عبر الأبعاد وعبارات IF/ELSE متعددة، قد تكون أي مشكلات في الأداء متعلقة بتنفيذ المعادلات. إذا لم تكن متأكدًا، يمكنك تفعيل معالجة الاستعلام من أسفل لأعلى لحساب الدالة. يؤدي هذا إلى تحسين أوقات الاستعلامات من خلال تحديد التقاطعات المطلوبة للحساب، ليصبح وقت الاستعلام متناسبًا مع حجم بيانات الإدخال.

    للقيام بتحسينات الاستعلامات هذه للإصدار 21C، استخدم إعداد التكوين QUERYBOTTOMUP، ووظيفة الحساب @QUERYBOTTOMUP. بالنسبة للإصدار 19C، استخدم إعداد تكوين IGNORECONSTANTS مع صياغة BOTTOMUP، بالإضافة إلى وظيفة حساب @NONEMPTYTUPLE.

  • استخدم تتبع الاستعلامات لمراقبة أداء الاستعلامات وحل مشاكله. تتوفر عدة إعدادات تكوين على مستوى التطبيق، تبعًا لحالة الاستخدام لديك. استخدم QUERYTRACE لحل المشاكل على المدى القصير لاستعلام واحد تظن أن به مشاكل. استخدم TRACE_REPORT لجمع الإحصائيات حول الاستعلامات التي تعمل بالتزامن (مثالي لحل المشاكل في بيئة التطوير). استخدم LONGQUERYTIMETHRESHOLD في بيئات التطوير لطباعة الإحصائيات لملف سجل التطبيق حول أي استعلامات تعمل لمدة أطول من وقت محدد.