MyISAM و قفل شدن جدول

i-php-i

Active Member
همونطور که می دونید MyISAM با عث می شه تا وقتی یه کاربر داره با دیتابیس کار می کنه، اون جدول قفل می شه و سایر کاربرها نمی تونن به اطلاعات اون جدول دسترسی پیدا کنن.

وقتی جدول قفل می شه، سایر درخواستها به چه شکل هندل می شن؟

آیا توی بازدیدهای بالا این مورد یه مشکل جدی توی سایت ایجاد نمی کنه؟
 

P.H.P

Member
شما وقتی داری با دیتابیس کار می کنی و به ارسال اطلاعات به جدول می پردازی تنها خودت هستی که نمیتونی تا جواب اولین درخواست درخواست دیگه ای ارسال کنی

کاربرای دیگه هم به همین شکل عمل میشه و به این صورت نیست که سایر کاربر ها با هر درخواست کاربر دیگه لنگ بمونن

موفق
 

i-php-i

Active Member
شما وقتی داری با دیتابیس کار می کنی و به ارسال اطلاعات به جدول می پردازی تنها خودت هستی که نمیتونی تا جواب اولین درخواست درخواست دیگه ای ارسال کنی

کاربرای دیگه هم به همین شکل عمل میشه و به این صورت نیست که سایر کاربر ها با هر درخواست کاربر دیگه لنگ بمونن
منظورتون اینه که وقتی یه کاربر با دیتابیس کار می کنه، دیتابیس فقط برای اون کاربر قفل می شه ولی همچنان برای سایرین قابل دستیابی هست؟

مثلا اگر من بخوام تعداد کل ستونهای یه جدول رو بدست بیارم و در همین زمان یه کاربر دیگه هم بخواد همین کار رو انجام بده، آیا تداخلی توی کار کاربر دیگه پیش می یاد؟
 

P.H.P

Member
خیر، تداخلی که شما بخواین اونو احساس کنید بوجود نمیاد

و اینکه اینطور query گرفتن ها هیچ مشکلی بوجود نمیاره (در صورتی که شما حتما دیزاین جداولت رو درست انجام داده باشی)

برای تستش هم میتونی 5 تا جدول که حداقل 1000 تا رکورد داره رو با 5 تا query آبدیت یا نمایش بدی (هم فشار میاره به کار هم اینکه تایم query خیلی زیاد میشه)

حالا اگه این 5 تا جدولو با یه query انتخاب کنی سرعت کارت اونقدر بالا میره که دیگه به این موضوع فکر نمیکنی

موفق
 

i-php-i

Active Member
از innodb استفاده کن
innodb سرعتش کمتره و وقتیکه MyISAM کل جدول رو برای همه کاربرها قفل نمی کنه و تا وقتیکه تعداد بازدیدهای سایت زیاد نشه، منطقی نیست که از innodbاستفاده کرد.
 

جدیدترین ارسال ها

بالا