المؤشر الحقيقي أثناء الحلقة - ما هي مزايا/عيوب المؤشرات؟

StackOverflow https://stackoverflow.com/questions/139843

  •  02-07-2019
  •  | 
  •  

سؤال

هل من الجيد استخدام حلقة while بدلاً من المؤشر؟ما هي مزايا وعيوب المؤشرات؟

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

المحلول

بعض هذه يعتمد على نظام إدارة قواعد البيانات (DBMS)، ولكن بشكل عام:

الايجابيات:

  • يتفوق على الحلقات عندما يتعلق الأمر بمعالجة صف تلو الآخر

  • يعمل بشكل جيد إلى حد معقول مع مجموعات البيانات الكبيرة

سلبيات:

  • لا مقياس كذلك

  • استخدم المزيد من موارد الخادم

  • يزيد الحمل على tempdb

  • يمكن أن يسبب تسربات إذا تم استخدامه بشكل غير صحيح (على سبيل المثال.فتح بدون إغلاق مطابق)

نصائح أخرى

أنا أتبع هذه النصيحة:

[...] ايهما افضل:المؤشرات أو أثناء الحلقات؟مرة أخرى ، يعتمد الأمر حقًا على وضعك.أنا دائمًا ما أستخدم المؤشر للحلق من خلال السجلات عند الضرورة.يعد تنسيق المؤشر أكثر بديهية بالنسبة لي ، وبما أنني فقط أستخدم البنيات للحلق من خلال مجموعة النتيجة مرة واحدة ، فمن المنطقي استخدام المؤشر Fast_Forward.تذكر أن نوع المؤشر الذي تستخدمه سيكون له تأثير كبير على أداء بنية الحلقات.

- تيم تشابمان في مقارنة المؤشر مع.أثناء تكرار الأداء في SQL Server 2008

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

أود أن أسألك عما تفعله بهذا المؤشر/أثناء الحلقة.

إذا كنت تقوم بتحديث البيانات أو إرجاعها، فلماذا لا تستخدم جملة WHERE المناسبة.أعرف أشخاصًا قد يقولون إنه لا ينبغي عليك أبدًا استخدام المؤشرات.

بعض عيوب المؤشرات هي هنا

ثم هناك أيضا هذا (في الواقع هناك مشكلة مثيرة جدًا للاهتمام تسمى "مشكلة الهالوين")

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