سؤال

لدي نص SQL "SELECT * من TABLE1 مع (Nolock)".

سؤالين:

  1. كيف أجعل tadoquery يستخدم تلميح Nolock دون الحاجة إلى تضمين ذلك في نص SQL؟ لدي حرفيًا الآلاف من Tadoquery مع SQL بنيت ديناميكيًا ، وسيكون من الصعب إضافتها مع (Nolock) إلى جميعهم ، ناهيك عن استخدامها مع منصات قاعدة البيانات بخلاف MSSQL. هل يوجد خاصية تادوكري؟

  2. كيف يمكنني تحقيق نفس الشيء مع صراخ؟ Tadotable ليس لديه أي SQL ، فكيف أخبرها باستخدام تلميح Nolock؟

شكرًا

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

المحلول

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

تعيين مستوى عزل المعاملة قراءة غير ملتزم

ابتهج AP

نصائح أخرى

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

IMHO يجب ألا تستخدم مكونات tadotable على الإطلاق - على أي حال ، ليس لديك طريقة لتحديد تلميح للاستعلام الذي تم إنشاؤه - وهو عام على أي حال.

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

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