theme wordpress
آموزشیعلمی

شبیه‌سازی تراکنش با جدول‌های غیر تراکنشی:

تراکنش‌ها قسمت سوم

همانطور که در قسمت‌های قبلی گفتیم جدول‌های تراکنشی که InnoDB و BDB هستند که از خواص ACID پشتیبانی می‌کند با توجه به آنکه نوع جدول MyISAM از سرعت بالایی برخوردار است و از تراکنش پشتیبانی نمی‌کند، MYSQL به ما اجازه می‌دهد با قفل کردن جدول‌ها تراکنش‌ها را شبیه‌سازی کنیم. باماهمراه باشید‌.

اگر قسمت اول تراکنش‌ها را نخوانده‌اید ابتدا قسمت اول را به منظور درک بهتر مفاهیم از اینجا مطالعه کنید.
اگر قسمت دوم تراکنش‌ها را نخوانده‌اید ابتدا قسمت دوم را به منظور درک بهتر مفاهیم از اینجا مطالعه کنید.
با توجه به آنکه قسمت اول مفاهیم اصلی تراکنش‌هاست حتما آن را مطالعه کنید.

virtual transaction
virtual transaction

قفل کردن جدول:

با توجه به آن که نباید در زمان تراکنش در کارآیی اخلالی ایجاد شود باید قفل نوع نوشتن را روی جدول ایجاد کرد تا بقیه کاربران MySQL نتوانند از روی جدول اطلاعات غیر واقعی بخوانند. برای این کار باید به شکل زیر عمل کرد.

توجه: در آخر توجه داشته باشید که پس از اتمام دستورات تراکنش باید قفل جدول را باز کنید. برای این کار از دستور زیر به شکل زیر باید استفاده کرد:

شبیه‌سازی تراکنش در جدول MyISAM:

مثل: شبیه‌سازی تراکنش روی جدول‌های employees و departments و payroll.
برای این کار ابتدا نوع جدول ها را به MyISAM باید تغییر داد. برای این کار باید از دستور alter table به شکل زیر استفاده کرد:

حال باید جدول‌ها را قفل کرد تا اطلاعات غیر واقعی از جدول‌ها خوانده نشود:

حال باید دستورات زیر را اجرا کرد تا به جدول رکوردهایی اضافه شود:

حالا اگر خواستید می‌توانید خطوط ایجاد شده را پاک کنید که معادل عمل rollback است سپس با دستور unlock table; جدول را آزاد کنید و یا بدون پاک کردن دستورات قفل جدول را باز کنید که معادل عمل commit می باشد.

به پایان دوره آموزش تراکنش‌ها رسیدیم.

لطفا نظرها و دیدگاه‌های خود را برای افزایش کیفیت پست‌های بعدی با ما در میان بگذارید.

با ما در الفبایت همراه باشید…

منبع: سایت MySQL بخش مستندات

برچسب ها
نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن
بستن