Asynchronous MySQL driver


Asynchronous MySQL driver模块提供了MySQL的异步驱动,意味着查询可以并行执行,这在某些场景下可以优化程序的性能,这是一个数据库驱动,并且是向后兼容的,核心代码由于没有传异步调用所需要的参数,因此仍然在以同步方式执行。

示例代码:

<?php
 
// Initiate queries.
 
$q1 = db_query("MY HEAVY QUERY ONE", array(), array('async' => TRUE));
 
$q2 = db_query("MY HEAVY QUERY TWO", array(), array('async' => TRUE));
 

// Wait no more than 30 seconds for queries to complete.
 
$until = microtime(TRUE) + 30;
  do {
   
$done = $q1->rowCount(TRUE) !== NULL && $q2->rowCount(TRUE) !== NULL;
  } while (!
$done && microtime(TRUE) < $until);
 

// Get results.
 
$r1 = $q1->rowCount(TRUE) !== NULL ? $q1->fetchAll() : NULL;
 
$r2 = $q2->rowCount(TRUE) !== NULL ? $q2->fetchAll() : NULL;
 
var_dump($r1);
 
var_dump($r2);
?>

Asynchronous MySQL driver项目的Drush安装命令:复制到剪贴板

注:个别模块仍需开启相关子模块。
维护状态: 
寻找新的维护者
开发状态: 
仅修复BUG,不添加新功能

开发版本下载:

版本下载地址发布日期发布说明翻译下载
7.x-1.x-devtar.gz (20.13 KB) | zip (26.17 KB)2015年7月31日发布说明简 | 繁 | 更多