手机版

PDO 与 MySQLi 二者效率简单比较 - MySQL中文参考手册

2019-09-11 阅读 :

PDO 与 MySQLi 二者效率简单比较

连接效率比较

<?php$p_start_time = microtime(true);for ($i = 1; $i <= 100; $i++) {    $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'aaaaaa');}$p_end_time = microtime(true);$res = $p_end_time - $p_start_time; // PDO 连接方式耗时$m_start_time = microtime(true);for ($i = 1; $i <= 100; $i++) {    mysqli_connect('localhost', 'root', 'aaaaaa', 'test');}$m_end_time = microtime(true);$res2 = $m_end_time - $p_start_time; // MySQL 连接方式耗时var_dump($res, '<br />', $res2);if ($res > $res2) {    echo 'PDO 连接数据库是 MySQL 的' . round($res2 / $res) . '倍';} else {    echo 'MySQL 连接数据库是 PDO 的' . round($res2 / $res) . '倍';}

写入速度比较

<?php// PDO 与 MySQLi 两种连接方式写入效率简单比较$p_start_time = microtime(true);$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'aaaaaa');// 写入数据表$sql = <<<EOFCREATE TABLE IF NOT EXISTS test(    id int unsigned not null)ENGINE=InnoDB CHARSET utf8 comment '写入测试表';EOF;$pdo->exec($sql);// 使用 PDO 预处理语句写入 500 条数据到数据库$sql = 'INSERT INTO test VALUES(:id)';$statement = $pdo->prepare($sql);for ($i = 1; $i <= 500; $i++) {    $id = 1;    $statement->bindParam(':id', $id, PDO::PARAM_INT);    $statement->execute();}unset($pdo); // 销毁 PDO 对象$p_end_time = microtime(true);$res = $p_end_time - $p_start_time; // PDO 连接方式耗时$m_start_time = microtime(true);// 使用 MySQLi 连接方式写入 500 条数据到数据库$link = mysqli_connect('localhost', 'root', 'aaaaaa', 'test');for ($i = 1; $i <= 500; $i++) {    $sql = 'INSERT INTO test VALUES (2)';    mysqli_query($link, $sql);}mysqli_close($link); // 关闭连接$m_end_time = microtime(true);$res2 = $m_end_time - $p_start_time; // MySQL 连接方式耗时var_dump($res, '<br />', $res2);if ($res > $res2) {    echo 'PDO 连接数据库写入速度是 MySQL 的' . round($res2 / $res) . '倍';} else {    echo 'MySQL 连接数据库写入速度是 PDO 的' . round($res2 / $res) . '倍';}


服务器软件 网络工具 网站工具 服务器教程 服务器知识 服务器技术 服务器之家 vps教程 vps是什么

本文标题:PDO 与 MySQLi 二者效率简单比较 - MySQL中文参考手册 - 服务器教程_服务器技术_服务器知识_vps教程
本文地址:https://www.helloaliyun.com/tutorial/528.html

相关文章

  • 阿里云服务器ECS实例Linux操作系统须知

    阿里云服务器ECS实例Linux操作系统须知 不要修改Linux实例默认的/etc/issue文件内容。否则,根据实例创建的自定义镜像的系统发行版本无法被正确识别,使用该镜像创建的实例无法正常启动。 不要随意更改根目录所在分区下...

    2019-11-19 服务器教程
  • 阿里云服务器ECS实例Windows操作系统须知

    阿里云服务器ECS实例Windows操作系统须知 不要停止Windows系统自带的AliyunService服务或自带的shutdownmon.exe进程,停止后可能会影响控制台正常关机或者重启。 不要修改域控制器的hostname。 不建议从域控制器的虚拟...

    2019-11-19 服务器教程
  • 关于阿里云服务器ECS实例的操作须知

    为了保证阿里云服务器ECS实例的正常运行,在使用阿里云服务器ECS实例之前,请您务必认真阅读以下注意事项。操作须知 创建ECS实例后,您拥有实例的管理员权限,阿里云没有权限登录您的实例。 禁止使用ECS实例做流量穿透服务。...

    2019-11-19 服务器教程
  • 什么是可用区(Zone)?

    可用区(Zone)可用区是指在同一地域内,电力和网络互相独立的物理区域。同一可用区内实例之间的网络延时更小。在同一地域内可用区与可用区之间内网互通,可用区之间能做到故障隔离。是否将实例放在同一可用区内,主要取决于对...

    2019-11-18 服务器教程
  • 购买阿里云服务器在选择地域时需要考虑哪些因素?

    购买阿里云服务器在选择地域时,您需要考虑以下几个因素: 地理位置 请根据您以及您目标用户所在的地理位置选择地域。 中国大陆 一般情况下建议选择和您目标用户所在地域最为接近的数据中心,可以进一步提升用户访问速...

    2019-11-18 服务器教程
你可能感兴趣