IT技术博客大学习 共学习 共进步

mysql基本连接,mysqli,pdo,adodb,pearDB之间的区别,速度测试

蒯义刚::网志 2009-10-28 22:41:37 浏览 2,581 次
测试了一下mysql基本连接,mysqli,pdo,adodb,pearDB这几个的速度,结果如下:

    用火狐测试1000次查询:

    mysql基本连接: 2.26953577995

    mysql基本连接: 2.18697500229

    mysql基本连接: 1.75704884529

    mysql基本连接: 2.14706707001

    mysql基本连接: 1.51761412621

    mysql基本连接: 1.7188680172

    mysql基本连接: 2.32342600822

    mysql基本连接: 1.34252810478

    mysql基本连接: 1.45732498169

    mysql基本连接: 3.65399098396

    10次总共时间: 20.3743789196

    最快的时间: 1.34252810478

    mysqli: 2.35137701035

    mysqli: 2.01316308975

    mysqli: 1.98780703545

    mysqli: 2.21229410172

    mysqli: 2.24351000786

    mysqli: 1.49605917931

    mysqli: 2.17403697968

    mysqli: 2.6106979847

    mysqli: 2.58286499977

    mysqli: 3.17641019821

    10次总共时间: 22.8482205868

    最快的时间: 1.49605917931

    pdo: 1.90496611595

    pdo: 3.74309897423

    pdo: 1.86429619789

    pdo: 3.76973009109

    pdo: 3.53142094612

    pdo: 2.90672111511

    pdo: 1.9796090126

    pdo: 2.14065814018

    pdo: 2.19515609741

    pdo: 2.10665798187

    10次总共时间: 26.14231467245

    最快的时间: 1.86429619789

    adodb: 2.5019569397

    adodb: 2.61657714844

    adodb: 2.92435717583

    adodb: 2.80851197243

    adodb: 2.60950493813

    adodb: 2.54582691193

    adodb: 2.11301803589

    adodb: 2.50546598434

    adodb: 2.60761213303

    adodb: 2.22149610519

    10次总共时间: 25.45432734491

    最快的时间: 2.11301803589

    pearDB: 4.00152897835

    pearDB: 4.18637084961

    pearDB: 4.05423617363

    pearDB: 4.27408695221

    pearDB: 3.83169102669

    pearDB: 4.07294511795

    pearDB: 4.41416597366

    pearDB: 4.13296508789

    pearDB: 4.28273415565

    pearDB: 4.09678888321

    10次总共时间: 41.34751319885

    最快的时间: 3.83169102669

    再次以火狐测试10000次查询:

    mysql基本连接: 21.663392067

    mysqli: 20.0792491436 

    pdo: 30.829996109

    adodb: 27.3853821754

    pearDB: 40.922711134

    mysql基本连接: 18.972700119

    mysqli: 19.537981987

    pdo: 20.9608280659

    adodb: 24.1204249859

    pearDB: 38.7300019264

    得出结论:

    mysql和mysqli速度基本差不多,或者是mysql略快;

    pdo和adodb速度差不多,比mysql和mysqli要慢一些;

    pearDB最慢。

    那么,实现开发中,我们该用哪个好呢?

    从运行效率的角度来说,当然是用mysql基本连接或mysqli了。mysql基本连接是一堆函数,有一些功能如取得二维数据之类等可能需要自己去封装。mysqli是php的扩展,是一个预定义类,功能强,使用方便,但有的服务器上可能没有安装mysqli扩展。

    pdo同mysqli一样是php的一个扩展,有的服务器可能也没有安装pdo,而且比mysqli略慢,所以一般不推荐使用。选择pdo不如选择mysqli。

    adodb是php写成的,不需要安装额外的扩展,可以操作多种数据库。所以如果你的系统可能会改变数据库或涉及到多种数据库,可以用adodb。但一般实际开发中都是确定的一个数据库,所以也不建议使用。

    pearDB最慢,也看不出来有什么特别的优点,不推荐使用。

    最终结论:

    可用mysql基本连接,自己封装成类。特别是开源程序,因为不确定服务器是否可以支持mysqli,应使用mysql基本连接。

    特定的项目,有自己的服务器,可以自行安装mysqli扩展,推荐使用mysqli。

    mysqli在5.3.0时加上了持久连接。

建议继续学习

  1. Xvfb+YSlow+ShowSlow搭建前端性能测试框架 (阅读 55,344)
  2. 安全测试与渗透测试区别 (阅读 24,825)
  3. 使用Fiddler对手机应用进行抓包测试 (阅读 8,463)
  4. 服务器性能测试工具推荐 (阅读 7,903)
  5. 给Apache做压力测试时遇到的问题 (阅读 7,183)
  6. WEB性能测试工具推荐 (阅读 6,944)
  7. 可用性测试好助手——Morae软件的应用 (阅读 6,683)
  8. 12款很棒的浏览器兼容性测试工具推荐 (阅读 6,146)
  9. 性能测试工具sysbench简介 (阅读 5,905)
  10. 可用性测试的权衡之道(二) (阅读 5,721)