سؤال

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

هذا يعمل بشكل جيد ولكن الآن قمنا بالترقية إلى SQL Server 2008 Express كنت أتساءل عما إذا كان من الأفضل/أسرع/أكثر كفاءة لإعادة كتابة هذا SP لاستخدام أمر الدمج الجديد.

هل لدى أي شخص أي فكرة عما إذا كان هذا أسرع من القيام باختيار متبوعًا إما إدراج أو تحديث؟

هل كانت مفيدة؟

المحلول

لا يستحق كل هذا الجهد. ربما يمكن القيام به ، لكنه لن يعطيك أي شيء ملحوظ.

تقوم الدمج بشكل خاص باستهداف مستودعات البيانات حيث يكون معرفة ما يجب إدراجه/التحديث هو الجزء الصعب. يسمح لجميع العمليات (إدراج ، تحديث) بمجموعة واحدة من الدمج ، مقارنة مع واحدة لكل حالة. هذا لا يحدث فرقًا حقيقيًا في قضيتك.

لديّ قاعدة بيانات واحدة حيث أقوم بتحميل 3-5 ملايين صف في جدول صف 300 مليون - هناك دمج يمنح أدائي بنسبة 50 ٪ (فحص جدول واحد بدلاً من اثنين).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top