ما هي المدة الزمنية "المعقولة" لإبقاء مؤشر SQL مفتوحًا؟

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

  •  08-06-2019
  •  | 
  •  

سؤال

في تطبيقاتك، ما هو "الوقت الطويل" لإبقاء المعاملة مفتوحة قبل الالتزام بها أو التراجع عنها؟دقائق؟ثواني؟ساعات؟

وعلى أي قاعدة بيانات؟

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

المحلول

@lomaxx، @ChanChan:على حد علمي، لا تمثل المؤشرات سوى مشكلة في SQL Server وSybase (متغيرات T-SQL).إذا كانت قاعدة البيانات التي تختارها هي Oracle، فإن المؤشرات هي صديقك.لقد رأيت عددًا من الحالات التي أدى فيها استخدام المؤشرات إلى تحسين الأداء بالفعل.تعد المؤشرات آلية مفيدة بشكل لا يصدق، كما أن قول أشياء مثل "إذا استخدمت المؤشر، فسوف نقوم بطردك" أمر مثير للسخرية بعض الشيء.

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

نصائح أخرى

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

المعاملات:دقائق.

المؤشرات:0 ثانية كحد أقصى، إذا استخدمت المؤشر، فسوف نقوم بطردك.

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

عمومًا أنا أتفق مع الإجابات الأخرى:تجنب المؤشرات عندما يكون ذلك ممكنًا (في معظم الحالات) وأغلقها بأسرع ما يمكن.

لكن:كل هذا يتوقف على البيئة التي تعمل فيها.

  • إذا كانت بيئة موقع ويب إنتاجي بها الكثير من المستخدمين، فتأكد من اختفاء المؤشر قبل أن يحصل شخص ما على مهلة.
  • إذا كنت - على سبيل المثال - تكتب "سجلًا لتحليل الإجراء المخزن" (أو أي شيء آخر) على جهاز خاص لا يفعل شيئًا آخر:لا تتردد في القيام بكل ما تريد القيام به.ستكون الشخص الوحيد الذي عليه الإنتظار.ليس الأمر كما لو أن خادم قاعدة البيانات سوف يتوقف بسبب استخدامك للمؤشرات.ومع ذلك، يجب أن تأخذ في الاعتبار أنه ربما يتغير سلوك الاستخدام بمرور الوقت، وفي مرحلة ما قد يكون هناك 10 أشخاص يستخدمون هذا التطبيق.لذا حاول أن تجد طريقة أخرى ;)

@تسعة جوانب:وبغض النظر عن مشكلات الأداء، يتعلق الأمر أيضًا باستخدام الأداة المناسبة للمهمة.بالنظر إلى خيار نقل المؤشر من استعلامك إلى التعليمات البرمجية، أعتقد أنه سيكون من الأفضل 99 مرة من أصل 100 وضع منطق التكرار هذا في نوع من التعليمات البرمجية المُدارة.يتيح لك القيام بذلك الحصول على مزايا استخدام مصحح الأخطاء، وتجميع التحقق من أخطاء الوقت، ونوع الأمان وما إلى ذلك.

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

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