साइटकोर वर्कबॉक्स में (Sitecore.Shell.Applications.Workbox)
, DisplayStates(IWorkflow workflow, XmlControl placeholder)
विधि में, साइटकोर किसी विशेष वर्कफ़्लोस्टेट में आइटम पुनर्प्राप्त करने के लिए निम्न विधि का उपयोग करता है।साइटकोर वर्कबॉक्स प्रदर्शन समस्या हल करें
DataUri[] items = this.GetItems(state, workflow);
हमारे मास्टर डेटाबेस में 650,000 जैसी मदों पूछे जाने हैं। वर्कबॉक्स लोड करने में 1½ मिनट लगते हैं। मैंने देखा कि "इस। गेट इटम्स (राज्य, वर्कफ़्लो)" विधि के अंदर डॉटपीक का उपयोग करके क्या होता है।
आंतरिक यह constructs निम्न क्वेरी जो मास्टर डेटाबेस (650,000+ मदों से 36 आइटम का चयन) में चलाने के लिए 1 आधा मिनट लग गए,
SELECT *
FROM VersionedFields INNER JOIN Items ON VersionedFields.ItemId = Items.Id
WHERE ItemId IN (SELECT ItemId FROM SharedFields WHERE FieldId=Workflowengine field AND Value= workflowengine)
AND FieldId=workflow state AND Value= workflowstate value
ORDER BY Name, Language, Version
वहाँ Workbox में प्रदर्शन में सुधार करने के लिए एक रास्ता है?
आप क्षेत्र ItemID पर एसक्यूएल मेज पर एक सूचकांक में जोड़ सकते हैं (अगर यह पहले से ही वहाँ नहीं है): अंत में आप
GetItems
विधि को अपडेट कर सकते हैं। इससे चीजें तेज हो सकती हैं। –+1 अच्छी तरह से शोध प्रश्न। सूचकांक में जाने के लिए –