PHP的MySQL库之Pdo-Mysql与Mysqli性能对比

数据库 MySQL
本文主要对PHP的MySQL库:Pdo-Mysql与Mysqli性能进行了对比,包括执行速度的快慢以及对WEB服务器的影响等方面,希望能够对您有所帮助。

我们知道,LAMP(Linux + Apache + Mysql + PHP)是一种很常用的WEB服务器搭配。PHP中有很多MySQL库以方便我们的使用,比如说:Pdo-MysqlMysqli等等。那么究竟哪种方式性能***呢?本文我们对以上的连接方式作了性能对比试验:

1、建一个Mysql数据库,新建一张InnoDB表(参考某项目的核心表),然后用存储过程生成100万条数据。

2、搭一PHP环境,每次访问会随机查询数据库里的一条数据。

3、访问完成后验证查询结果的正确性。

Pdo-Mysql长连接 $dbh = new PDO(……,array(PDO::ATTR_PERSISTENT => true));

Pdo-Mysql短连接 $dbh = new PDO($host, $username, $password);

Mysqli $dbh = new mysqli($host,$username,$password,$dbname,$port);

Mysqli_connect $dbh = mysqli_connect($host,$username,$password,$dbname,$port);

自带 $dbh = mysql_connect($host,$username,$password);

结论:

1、使用Pdo-Mysql的长连接方式,性能***;

2、Mysqli的性能要优于使用Pdo-Mysql即时连接;

3、Pdo-Mysql即时连接性能同使用“自带”方式没有明显差异。

附,Pdo-Mysql与Mysqli的每秒事务数图:

PHP的MySQL库之Pdo-Mysql与Mysqli性能对比

附,对应时间段Web服务器的内存使用图:

PHP的MySQL库之Pdo-Mysql与Mysqli性能对比

从上面两个图可以看出:

1. Pdo-Mysql之所以比Mysqli快,是由于Pdo-Mysql对数据库的操作比Mysqli要少;

2. 在Pdo-Mysql使用了长连接的测试中,Web服务器内存持续上涨。

(简单查了一下,是Aapche服务的httpd进程内存上涨,再跟进去模块名显示[匿名],后续再继续查一下原因)

那么单纯从性能角度看,Pdo-Mysql长连接性能***,但有何弊端还有待查证。

关于PHP中MySQL库的Pdo-Mysql与Mysqli性能对比的知识就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. MySQL数据库如何恰到好处地使用索引?
  2. MySQL使用Amoeba作为Proxy时的注意事项
  3. MySQL数据库binlog记录的时间戳失序的原因
  4. MySQL数据库目录结构及常用命令的使用总结篇
  5. 以MySQL为例介绍数据库测试工具dbmonster的使用
责任编辑:赵鹏 来源: 火魔网
相关推荐

2019-09-24 13:53:19

MySQLMySQL 8.0数据库

2011-08-25 17:29:40

LUAPHPWEB

2009-11-24 16:48:15

PHP mysqli

2017-04-13 15:15:17

Netflix ZuuNginx性能

2017-11-20 13:54:55

FlinkStorm框架

2017-11-21 15:50:09

FlinkStorm性能

2009-11-20 09:01:13

Ubuntu性能对比

2010-11-23 11:27:53

MySQL MyISA

2024-01-05 08:46:50

ReactVue

2011-12-14 11:38:42

PhoneGapJavaAndroid

2022-12-05 17:01:20

MySQL数据库Oracle

2011-08-29 17:47:07

PHPMySQL排序

2015-05-04 14:50:48

PHPPHP生成随机密码

2019-05-27 17:01:02

PHPPDO编程语言

2017-02-08 12:00:45

PHP性能对比

2024-10-09 11:31:51

2019-12-25 09:53:01

虚拟机技术固态硬盘

2009-09-03 11:42:32

2013-07-17 17:03:23

Ngx_luaNginx

2009-07-24 13:17:43

世纪互联至强CloudEx
点赞
收藏

51CTO技术栈公众号