عندما تحاول اتصالات متعددة تحديث نفس السجل بشكل متزامن، يمكن أن تنشأ حالات السباق. يتضمن السيناريو الشائع زيادة حقل العداد، مثل "المحاولات". لضمان سلامة البيانات في مثل هذه المواقف، من الضروري تنفيذ الآليات التي تعالج ظروف السباق.
1. التحديثات الذرية:
يدعم MySQL التحديثات الذرية، والتي تضمن نجاح عملية التحديث أو فشلها ككل. يوصى بهذا الأسلوب عندما يكون كافيًا تحديث الحقل مباشرةً دون الحاجة إلى تحديد القيمة الحالية أولاً.
2. قفل الصف:
تستخدم هذه التقنية قفل على مستوى الصف لمنع التحديثات المتزامنة المتعددة لنفس الصف. من خلال الحصول على قفل حصري، يمكن لاتصال واحد تعديل الصف بشكل حصري، بينما يجب على الاتصالات الأخرى الانتظار حتى يتم تحرير القفل. وهذا يضمن تحديث الحقل بشكل صحيح وتجنب حالات السباق.
3. نظام الإصدار:
يقدم هذا الأسلوب عمود إصدار إلى الجدول. عند تحديث صف، يتم استرداد الإصدار الموجود ويتم إجراء التحديث إذا كان الإصدار مطابقًا. إذا تغير الإصدار، فهذا يشير إلى أن اتصالاً آخر قام بتعديل الصف منذ الاسترداد الأولي. في هذه الحالة، يتم إلغاء التحديث، ويجب تكرار العملية لاسترداد أحدث القيم ومحاولة التحديث مرة أخرى.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3