php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例


Posted in PHP onMay 09, 2019

本文实例讲述了php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率。分享给大家供大家参考,具体如下:

<?php
/**
 * 测试pdo和mysqli的执行效率
 */
header("Content-type:text/html;charset=utf-8");
//通过pdo链接数据库
$pdo_startTime = microtime(true);
$pdo = new PDO("mysql:host=localhost;dbname=test","root","1234",array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';"));
for($i=1;$i<=100;$i++){
  $title = "pdo标题".$i;
  $content = "pdo内容".$i;
  $addtime = time();
  $user_id = $i;
  $pdo_sql = "INSERT INTO `article`(`title`,`content`,`addtime`,`user_id`) VALUES(:title,:content,:addtime,:user_id)";
  $sth = $pdo->prepare($pdo_sql);
  $sth->bindParam(':title',$title);
  $sth->bindParam(':content',$content);
  $sth->bindParam(':addtime',$addtime);
  $sth->bindParam(':user_id',$user_id);
  $sth->execute();
}
$pdo_endTime = microtime(true);
$pdo_time = $pdo_endTime - $pdo_startTime;
echo $pdo_time;
echo "<hr/>";
//通过mysql链接数据库
$mysqli_startTime = microtime(true);
$mysqli = mysqli_connect("localhost","root","1234","test") or die("数据连接失败");
mysqli_query($mysqli,"set names utf8");
for($i=1;$i<=100;$i++){
  $title = "mysqli标题".$i;
  $content = "mysqli内容".$i;
  $addtime = time();
  $user_id = $i;
  $sql = "INSERT INTO `article`(`title`,`content`,`addtime`,`user_id`) VALUES('".$title."','".$content."',".$addtime.",".$user_id.")";
  mysqli_query($mysqli,$sql);
}
$mysqli_endTime = microtime(true);
$mysqli_time = $mysqli_endTime - $mysqli_startTime;
echo $mysqli_time;
echo "<hr/>";
if($pdo_time > $mysqli_time){
  echo "pdo的执行时间是mysqli的".round($pdo_time/$mysqli_time)."倍";
}else{
  echo "mysqli的执行时间是pdo的".round($mysqli_time/$pdo_time)."倍";
}

测试结果:其实经过多次测试,pdo和mysqli的执行效率差不多。

php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php中计算中文字符串长度、截取中文字符串的函数代码
Aug 09 PHP
解析php中static,const与define的使用区别
Jun 18 PHP
php将金额数字转化为中文大写
Jul 09 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
php读取txt文件并将数据插入到数据库
Feb 23 PHP
PHP发送AT指令实例代码
May 26 PHP
php gd等比例缩放压缩图片函数
Jun 12 PHP
Yii2框架中使用PHPExcel导出Excel文件的示例
Aug 09 PHP
PHP中的浅复制与深复制的实例详解
Oct 26 PHP
thinkPHP框架RBAC实现原理分析
Feb 01 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
Nov 04 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
May 09 #PHP
PHP CURL中传递cookie的方法步骤
May 09 #PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 #PHP
Laravel配置全局公共函数的方法步骤
May 09 #PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 #PHP
PHP正则表达式笔记与实例详解
May 09 #PHP
PHP抽象类与接口的区别实例详解
May 09 #PHP
You might like
php+javascript的日历控件
2009/11/19 PHP
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
幻宇的层模拟窗口效果-提供演示和下载
2007/01/20 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
jQuery Ajax和getJSON获取后台普通json数据和层级json数据用法分析
2016/06/08 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
详解node.js中的npm和webpack配置方法
2018/01/21 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
JS实现灯泡开关特效
2020/03/30 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
Python的Flask框架的简介和安装方法
2015/11/13 Python
Python探索之SocketServer详解
2017/10/28 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
2018/10/23 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
HTML5新标签兼容——&gt; 的两种方法
2018/09/12 HTML / CSS
Mansur Gavriel官网:纽约市的一个设计品牌
2019/05/02 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
安全检查验收制度
2014/01/12 职场文书
个人近期表现材料
2014/02/11 职场文书
文体活动实施方案
2014/03/27 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
收款授权委托书
2014/10/02 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
Python中的 enumerate和zip详情
2022/05/30 Python