يمكن أن تعمل استعلامات SOQL (لغة الاستعلام عن كائن Salesforce) في بعض الأحيان بشكل أسرع في بيئة صندوق الرمل مقارنةً ببيئة الإنتاج بسبب العديد من العوامل الفنية والتشغيلية جوهرية لكيفية إعداد صناديق الرمل Salesforce وإدارتها. يتطلب فهم هذه العوامل الخوض في اختلافات في أحجام البيانات ، وفهرسة ، وتخزين المؤقت ، والمكافحة للموارد ، وتحسينات النظام الخاصة بـ Sandbox مقابل بيئات الإنتاج.
حجم البيانات وتعقيدها
أحد الأسباب الأساسية للاستعلامات SOQL التي تعمل بشكل أسرع في بيئات صندوق الرمل هو الفرق في حجم البيانات. عادةً ما تحتوي صناديق الرمل على مجموعات بيانات أصغر من بيئات الإنتاج ، خاصةً إذا كانت صناديق رملية جزئية أو مطورة ، والتي تنسخ فقط مجموعة فرعية من بيانات الإنتاج. يعني حجم البيانات المخفض هذا الحد الأدنى من السجلات ضوئيًا وفهرسته وإعادته بواسطة الاستعلامات ، مما يؤدي بشكل طبيعي إلى تسريع أوقات تنفيذ الاستعلام. حتى في الصناديق الرملية الكاملة التي تعكس بيانات الإنتاج ، قد تعني التحديثات أو اللقطات المتكررة أن البيانات ليست ضخمة أو يتم الوصول إليها بشكل متكرر كما هو الحال في ORG للإنتاج المباشر ، مما يؤدي إلى أداء أفضل بسبب انخفاض تحميل النظام بشكل عام.
الفهرسة والانتقائية
يعتمد مُحسّن استعلام Salesforce اعتمادًا كبيرًا على فهارس لتسريع تنفيذ الاستعلام. غالبًا ما تكون الاستعلامات التي ترشحها على الحقول المفهرسة أسرع بكثير لأن Salesforce يمكن أن تضيق بسرعة في مجموعة النتائج بدلاً من مسح الجدول بأكمله. في بيئات صندوق الرمل ، قد يتصرف مُحسِّن الاستعلام بشكل أكثر كفاءة لأن توزيع البيانات قد يكون مختلفًا ، مما يتيح أن تكون الفهارس أكثر انتقائية. على سبيل المثال ، إذا كان صندوق الرمل يحتوي على عدد أقل من القيم المكررة أو الفارغة في بعض الحقول المفهرسة من الإنتاج ، فيمكن لمحسّن الاستعلام استخدام الفهارس بشكل أكثر فعالية لتنفيذ الاستعلامات بشكل أسرع. علاوة على ذلك ، تسمح بيئات صندوق الرمل غالبًا بمزيد من المرونة في تجربة فهارس مخصصة أو ضبط الاستعلام دون التأثير على الإنتاج ، والتي يمكن أن تعمل على تحسين أداء SOQL أثناء التطوير والاختبار.
خفض الخلاف وعزل الموارد
بيئات الإنتاج متعددة المستأجرين وتستخدمها بشكل كبير من قبل المستخدمين النهائيين الذين يقومون بعمليات مختلفة في وقت واحد ، مما يخلق خلافًا للموارد. يمكن أن يؤدي هذا الخلاف إلى إبطاء تنفيذ الاستعلام باعتباره وحدة المعالجة المركزية والذاكرة والإدخال/الإخراج بين العديد من العمليات المتزامنة. على النقيض من ذلك ، تميل صناديق الرمل ، وخاصة المطور والمطور Pro ، إلى وجود عدد أقل من المستخدمين المتزامنين وتحميل النظام بشكل عام. هذا التخفيض في الطلب المتزامن يعني أن الاستفسارات يمكن أن تصل إلى الموارد بسهولة أكبر ، مما يقلل من أوقات الانتظار وتسريع التنفيذ.
التخزين المؤقت واستقرار خطة الاستعلام
توظف Salesforce آليات التخزين المؤقت للاستعلام المتطورة لتحسين الأداء. في بيئات رمل الصندوق ، قد يتم تخزين بعض نتائج الاستعلام وخطط التنفيذ ، خاصة إذا كانت الاختبارات المتكررة أو تكرارات التطوير تنفذ نفس الاستعلامات. يمكن أن يؤدي تأثير التخزين المؤقت هذا إلى تسريع أداء الاستعلام على التشغيل اللاحق. علاوة على ذلك ، نظرًا لأن بيانات صندوق الرمل تتغير بشكل متكرر من الإنتاج ، فإن خطط الاستعلام والنتائج المخزنة مؤقتًا تظل صالحة لفترة أطول ، مما يعزز كفاءة الاستعلام. لا يمكن لبيئات الإنتاج ، مع تغييرات البيانات الديناميكية والمستمرة ونشاطها المعاملات الثقيلة ، الاستفادة من التخزين المؤقت بشكل فعال ، مما يؤدي إلى إعادة توزيع أكثر تواتراً لخطط الاستعلام وبالتالي أداء الاستعلام الأبطأ.
حدود الحاكم وسياق التنفيذ
يفرض Salesforce حدود الحاكم "بما في ذلك الحد الأقصى لعدد استفسارات SOQL لكل معاملة للحفاظ على استقرار النظام الأساسي. في تطوير صناديق الرمل ، غالبًا ما يقوم المطورون بتكوين سياقات التنفيذ والتحكم فيها بعناية أكبر لتجنب ضرب هذه الحدود ، على سبيل المثال عن طريق التكيف مع الاستفسارات ومعالجة البيانات على الدفعات. يساعد هذا التطور والاختبار في الحفاظ على الاستفسارات المحسنة قبل النشر على الإنتاج. في الإنتاج ، قد تسبب العمليات التجارية والتكامل المعقدة عن غير قصد الاستعلام المفرط أو غير الفعال ، مما يؤدي إلى أداء أبطأ بسبب زيارات قاعدة البيانات المتكررة وضرب حدود الحاكم. توفر صناديق الرمل مساحة أكثر أمانًا لتصحيح هذه الاستعلامات وتحسينها ، مما يؤدي إلى أداء أفضل نسبيًا.
الاختلافات في مشاركة القواعد وإعدادات الأمان
قد يكون لدى بيئات Sandbox قواعد مشاركة مبسطة أو مختلفة وتكوينات الأمان مقارنة بالإنتاج. يفرض Salesforce قواعد المشاركة والرؤية على مستوى قاعدة البيانات أثناء تنفيذ الاستعلام. يمكن أن تضيف حسابات المشاركة المعقدة في الإنتاج النفقات العامة إلى الاستعلامات ، وخاصة تلك المتعلقة بالأمان والكائن على مستوى السجل. في بعض الأحيان ، ترفع صناديق الرمل للتطوير أو الاختبار في بعض الأحيان أو تبسيط هذه القواعد ، مما يقلل من تعقيد التنفيذ وبالتالي تسريع أداء استعلام SOQL.
اختبار التحسين والتركيز
في بيئات صندوق الرمل ، هناك بشكل عام التركيز على الاختبار والتحسين. يقوم المطورون والمسؤولون بتشغيل ملفات تعريف SOQL وتحليلها وتحسينها باستخدام أدوات Salesforce مثل أداة خطة الاستعلام ، وسجلات أداء Console Developer ، وسجلات الأخطاء. وبالتالي ، فإن أفضل الممارسات التي تم تعلمها أثناء تطوير صندوق الرمل - مثل اختيار الحقول اللازمة فقط ، وتطبيق المرشحات الانتقائية ، وتجنب الحلقات مع الاستعلامات داخلها ، وذلك باستخدام العلاقات والمجاميع المدروسة ، والمعالجة غير المتزامنة (مثل قمة الدُفعات) ، مما يؤدي إلى استعلامات أسرع. قد لا تزال بيئات الإنتاج تحتوي على استفسارات إرثية أو غير محسوبة تعمل على تدهور الأداء.
عوامل مساهمة أخرى
- انحراف البيانات: غالبًا ما تحتوي بيانات الإنتاج على توزيعات منحرفة ، حيث تهيمن مجموعة فرعية صغيرة من السجلات على مجموعة البيانات. يمكن أن يؤدي هذا الانحراف إلى تدهور أداء الاستعلام عن طريق هزيمة استراتيجيات الفهرسة. قد تحتوي صناديق الرمل على انحراف أقل ، مما يتيح استفسارات أكثر كفاءة.
- الفراغ وإعادة تدوير حالة سلة: يمكن أن تؤثر السجلات المحذوفة في صندوق إعادة التدوير على الأداء. عادةً ما يكون لدى Orgs الإنتاج سلة لإعادة التدوير أكمل من صناديق الرمل ، والتي يمكن أن تبطئ استعلامات SOQL التي تصل إلى الكائنات أو التاريخ ذات الصلة.
- تأخر النسخ المتماثل وإحصائيات الاستعلام: يعتمد مُحسّن استعلام Salesforce على الإحصاءات التي يتم تحديثها بشكل دوري. قد تحتوي صناديق الرمل ، وخاصة تلك التي تم تحديثها حديثًا ، على إحصائيات جديدة تسمح للمحسّنة باختيار خطط استعلام أفضل.
- تحسينات النظام الأساسي: في بعض الأحيان تقوم Salesforce بنشر تحسينات جديدة في الأداء وميزات أولاً في صناديق الرمل للاختبار المبكر. قد يعزز هذا بشكل مؤقت أداء صندوق الرمل بالنسبة لبيئات الإنتاج القديمة.
باختصار ، يتم تشغيل استعلامات SOQL بشكل أسرع في بيئات صندوق الرمل بسبب مجموعات بيانات أصغر وأقل تعقيدًا ، وانتقائية فهرس أفضل ، وتقليل خلاف النظام ، والتخزين المؤقت الفعال ، وتحسين الاستعلام المركز أثناء التطوير ، وتكوينات الأمان والمشاركة الأكثر بساطة. تخلق هذه العوامل المدمجة شروطًا حيث يمكن لمؤسسة استعلام Salesforce تنفيذ الاستعلامات بشكل أكثر كفاءة وحيث تكون الموارد متاحة بسهولة أكبر لمعالجة الاستعلامات. تعزز هذه البيئة أداء أفضل لا يمكن تحقيقه في الطبيعة المحملة والمعقدة للغاية لمؤسسة الإنتاج. وبالتالي ، تعمل صناديق الرمل كملعب تطوير/اختبار ومكان لضبط الأداء قبل نشر الاستعلامات والتطبيقات في الإنتاج حيث تكون متطلبات الأداء وتعقيدات البيانات أعلى بكثير. يتم استخلاص كل هذه الأفكار من أفضل الممارسات في أداء Salesforce ، وخبرات المطورين ، وخصائص الهندسة المعمارية في Salesforce.