数据库

 首页 > 数据库 > mariadb > PDO-MySQL与MySQLi性能测试报告

PDO-MySQL与MySQLi性能测试报告

分享到:
【字体:
导读:
         摘要:我们知道,LAMP(Linux+Apache+Mysql+PHP)是一种很常用的WEB服务器搭配。PHP中有很多MySQL库以方便我们的使用,比如说:Pdo-Mysql、Mysqli等等。那么究竟哪种方式性能最佳呢?本文我们对以上的连接方式作了性能对比试验:1、建一个Mysql数据库...

PDO-MySQL与MySQLi性能测试报告
我们知道,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性能对比的知识就介绍到这里了,希望本次的介绍能够对您有所收获!

PDO-MySQL与MySQLi性能测试报告
分享到:
sql中isnull函数使用详解
sql中isnull函数使用详解 SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法、注释、返回类型等,供您参考,希望对您学习SQL能够有所帮助。 ISNULL 使用指定的替换值替换 NULL。语法 ISNULL ( check_expression , replacement_value )参数 check_expression 将被检查是否为 NULL的表达式。c...
从percona 5.5.30迁移至MariaDB 5.5.30的...
从percona 5.5.30迁移至MariaDB 5.5.30的记录 Mariadb 5.5.30 用  percona 5.5.30 的mysql系统库启动时会报错 [ERROR] Incorrect definition of table mysql.event: expected column ‘sql_mode’ at position 14 to have type set ……  [ERROR] mysqld: Table ‘./mysql/tables_priv’...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……