توی هاست اشتراکی می تونیم 5000 رکورد یا بیشتر رو با هم حذف کنیم ؟

i-php-i

Active Member
توی هاست اشتراکی می تونیم 5000 رکورد یا بیشتر رو با هم حذف کنیم ؟

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

mtchabok

Member
حذف رکورد در دیتابیس انجام میشه و تعدادش اهمیت نداره . بلکه بستگی به شرطی که میزارید داره . هرچی شرط ساده تری بزارید سرعت بالاتر میره و هرچه شرط پیچیده تر بشه سرعت پائینتر و زمان بیشتری طول میکشه و به افزایش زمان شاید به زمان time out ارتباط با دیتابیس برخورد داشته باشه که اونوقت خطا میده .
 

i-php-i

Active Member
حذف رکورد در دیتابیس انجام میشه و تعدادش اهمیت نداره . بلکه بستگی به شرطی که میزارید داره . هرچی شرط ساده تری بزارید سرعت بالاتر میره و هرچه شرط پیچیده تر بشه سرعت پائینتر و زمان بیشتری طول میکشه و به افزایش زمان شاید به زمان time out ارتباط با دیتابیس برخورد داشته باشه که اونوقت خطا میده .
محدودیت زمان وجود داره اما ظاهرا سایتهای اشتراکی اجازه نمی دن بیشتر از 500 کوئری اجرا بشه. در این مورد اطلاعی ندارید؟
 

mtchabok

Member
آره احتمالش هس ولی فک نمی کنید که 500 تا کوئری خیلی زیاد باشه و با یه اتصال ارسال 500 در خواست کوئری فشار خیلی زیادی به دیتابیس میآره . سعی کنین که کوئری هاتون رو بهینه کنین تا به محدودیت تعداد کوئری برخورد نکنین . (البته من تا حالا به محدودیت کوئری برخورد نداشتم )
 

i-php-i

Active Member
آره احتمالش هس ولی فک نمی کنید که 500 تا کوئری خیلی زیاد باشه و با یه اتصال ارسال 500 در خواست کوئری فشار خیلی زیادی به دیتابیس میآره . سعی کنین که کوئری هاتون رو بهینه کنین تا به محدودیت تعداد کوئری برخورد نکنین . (البته من تا حالا به محدودیت کوئری برخورد نداشتم )
البته منظورم 500 کوئری نبود.
توی کوئری زیر، اگر بخوایم 500 تا ردیف یا بیشتر رو حذف کنیم، ممکنه توی سرورهای اشتراکی به مشکل بخوریم، این موضوع درسته؟
PHP:
delete from `tb` limit 800
 

Masoud1365

مدیر انجمن
توی هاست های اشتراکی فقط ماکزیمم تایم برای اجرای کوئریها هست ( یعنی معمولا رو همه سرورها هست کاری به اشتراکی یا اختصاصی نداره ! ) .
 

i-php-i

Active Member
توی هاست های اشتراکی فقط ماکزیمم تایم برای اجرای کوئریها هست ( یعنی معمولا رو همه سرورها هست کاری به اشتراکی یا اختصاصی نداره ! ) .
این تایم معمولا چقدر هست و اگر زمان تمام بشه و کوئری اجرا نشه فتال ارور داده می شه یا یه هشدار و آیا اسکریپت می تونه به کار خودش ادامه بده؟
 

Masoud1365

مدیر انجمن
این تایم معمولا 60 ثانیه است !
بعد از این مدت کلا اجرای اسکریپت متوقف میشه !
 

i-php-i

Active Member
توی هاست های اشتراکی فقط ماکزیمم تایم برای اجرای کوئریها هست ( یعنی معمولا رو همه سرورها هست کاری به اشتراکی یا اختصاصی نداره ! ) .
این تایم معمولا 60 ثانیه است !
این 60 ثانیه بصروت جداگانه برای هر کوئری در نظر گرفته می شه یا اینکه 60 ثانیه برای کانکش و کل کوئری ها هست؟
 

mtchabok

Member
این زمان که بر حسب ثانیه هس برای هر اتصال به دیتابیس هس .
برای بدست آوردن اون روی سرورتون میتونین از این استفاده کنین :
PHP:
ini_get('mysql.connect_timeout');
 

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

بالا