• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
عدم توصیه اکستنشن mysql برای پروژه های جدید
#1
Use of this extension is discouraged. Instead, the MySQLi or PDO_MySQL extension should be used.

ترجمه: «استفاده از این اکستنشن توصیه نمیشود. درعوض باید از اکستنشن MySQLi یا PDO MySQL استفاده شود.»

منبع: http://php.net/manual/en/function.mysql-...string.php

راستی اینم مقایسهء بین امکانات این اکستنشن ها و جالبه: http://www.php.net/manual/en/mysqlinfo.api.choosing.php

یه چیزیش جالبه که mysqli از non-blocking, asynchronous queries پشتیبانی میکنه اما PDO این قابلیت رو نداره.
حالا اینکه این non-blocking, asynchronous queries چقدر بدرد میخوره نمیدونم! بنظرم یعنی کوئری رو بدی و قبل از تمام شدن کوئری برنامه میتونه به بقیهء کار خودش بپردازه و تمام بشه. روی کوئری سنگین و طولانی که حتما نیاز نیست قبل از تمام شدن برنامه تمام بشن بنظرم چیز خوبی باشه. حتما میشه همزمان چندتا کوئری درحال اجرا هم داشت. البته احتمالا نکات و پیچیدگی برنامه نویسی بیشتری هم پیش میاره این حالت.
  پاسخ
تشکر شده توسط : M.J
#2
بله به شدت توصیه میشه از mysql استفاده نشه. حتی فریم ورکهایی مثل zf و یا داکترین هم کلا از mysql استفاده نمی کنن چون یکی از مهمترین امکانات برای کار با دیتابیس یعنی statement ها رو نداره.

برای آسنکرون هم
کد پی‌اچ‌پی:
$all_links = array($shard1$shard2$shard3);
$processed 0;
do {
    
$links $errors $reject = array();
    foreach (
$all_links as $link)
        
$links[] = $errors[] = $reject[] = $link;
    if (
== ($ready mysqli_poll($links$errors$reject10))
        continue;    
    
    foreach (
$links as $k => $link) {
        if (
$res mysqli_reap_async_query($link)) {
            
mysqli_free_result($res);
            
$processed++;
    
        }
    }
} while (
$processed count($all_links)); 

این یه نمونه کوئری رو ارسال می کنی و منتظر جواب نمیشی و میری سراغ درخواست بعدی. البته واقعا استفاده ازش خیلی کم پیش میاد. و برنامه رو پیچیده می کنه. مخصوصا کار کردن با multi query و دریافت نتیجش کار سختیه. البته برای insert و update کردن و مواردی که نیازی به نتیجه نیست multi_query خیلی گزینه خوبی هست از نظر سرعت اجرا واقعا فوق العادست
  پاسخ
تشکر شده توسط : vejmad M.J


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان