kab00k
پنج شنبه 17 اردیبهشت 1394, 12:43 عصر
با سلام
دوستان من در برنامم از کلاس PDO برای استفاده از دیتابیس استفاده کردم. دیتابیس هم mysql هستش
اما الان دچار مشکل شدم .
در هنگام INSERT کردن اگه تعداد رکورد یکی باشه مشکلی نیست . اما در برنامه من بعضی زمان ها لازم میشه تعداد رکورد بالایی مثلا 10000 و یا 20000 را insert کنم
که با خطا روبرو میشه .
موتور دیتابیس InooDB هستش . سرور مجازی با رم 4 هستش و فقط همین سایت روش وجود داره .
البته اول من از یک تیبل دیگه اطلاعات را میرگه و وارد لووپ میشه به این صورت
$result = $pdo->prepare($sql); $result->execute();
while ( $row = $result->fetch() ) {
$pdo->exec("INSERT INTO table2 (user,post,comment) VALUES ($row['username'],$row['post'],$row['comment']) );
}
با این کد حتی با 500 رکورد زمان INSERT خیلی طولانی میشه و خطای time out میده
از این راه حل هم استفاده کردم
http://thisinterestsme.com/pdo-prepared-multi-inserts/
خیلی کم سریعتر شد اما باز در تعداد بالا مقلا 2000 تا خطا میده .
لطفا دوستان راهنمایی کنن !
باسپاس
----------------ویرایش
دوستان تشکر خودم بعد از جستجو و البته راهنمای یکی از دوستان به نتیجه رسیدم
http://php.net/manual/en/pdo.commit.php
دوستان من در برنامم از کلاس PDO برای استفاده از دیتابیس استفاده کردم. دیتابیس هم mysql هستش
اما الان دچار مشکل شدم .
در هنگام INSERT کردن اگه تعداد رکورد یکی باشه مشکلی نیست . اما در برنامه من بعضی زمان ها لازم میشه تعداد رکورد بالایی مثلا 10000 و یا 20000 را insert کنم
که با خطا روبرو میشه .
موتور دیتابیس InooDB هستش . سرور مجازی با رم 4 هستش و فقط همین سایت روش وجود داره .
البته اول من از یک تیبل دیگه اطلاعات را میرگه و وارد لووپ میشه به این صورت
$result = $pdo->prepare($sql); $result->execute();
while ( $row = $result->fetch() ) {
$pdo->exec("INSERT INTO table2 (user,post,comment) VALUES ($row['username'],$row['post'],$row['comment']) );
}
با این کد حتی با 500 رکورد زمان INSERT خیلی طولانی میشه و خطای time out میده
از این راه حل هم استفاده کردم
http://thisinterestsme.com/pdo-prepared-multi-inserts/
خیلی کم سریعتر شد اما باز در تعداد بالا مقلا 2000 تا خطا میده .
لطفا دوستان راهنمایی کنن !
باسپاس
----------------ویرایش
دوستان تشکر خودم بعد از جستجو و البته راهنمای یکی از دوستان به نتیجه رسیدم
http://php.net/manual/en/pdo.commit.php