الانتقال إلى المحتوى الرئيسي

هل يتم الإدراج في العروض المادية بشكل متزامن؟

السؤال: عندما تُدرَج صفوف جديدة في جدول مصدر، تُرسَل هذه الصفوف أيضًا إلى جميع العروض المادية التابعة لهذا الجدول. هل تُنفَّذ عمليات الإدراج في العروض المادية بشكل متزامن، بحيث إن تأكيد الخادم نجاح عملية الإدراج للعميل يعني أن جميع العروض المادية قد تم تحديثها بالكامل وأصبحت متاحة للاستعلام؟ الإجابة:
  1. عند نجاح عملية INSERT، تُدرَج البيانات في كلٍّ من الجدول وجميع العروض المادية.
  2. عملية الإدراج ليست ذرّية فيما يتعلق بـ العروض المادية. ففي أثناء تنفيذ INSERT، قد ترى البرامج العميلة المتزامنة حالةً وسيطة تكون فيها البيانات قد أُدرجت في الجدول الرئيسي، ولكن ليس في العروض المادية، أو العكس.
  3. إذا كنت تستخدم async inserts، فإنها تجمع البيانات وتنفّذ في الخلفية عملية إدراج عادية، ثم تعيد إلى العميل النوع نفسه من الاستجابة كما في عمليات الإدراج العادية. وإذا تلقّى العميل استجابة نجاح من async insert مع الخيار wait_for_async_insert (كما هو الحال افتراضيًا)، فستُدرَج البيانات في كلٍّ من الجدول وجميع العروض المادية التابعة له.
السؤال: ماذا عن العروض المادية المتسلسلة/المتتابعة؟ الإجابة: تنطبق القواعد نفسها — فنجاح الاستجابة لعملية INSERT يعني أن البيانات قد أُدرجت في كل عرض مادي في السلسلة. وعملية الإدراج غير ذرّية.
آخر تعديل في ٢٩ يونيو ٢٠٢٦