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基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
探讨PHP中OO之静态关键字以及类常量的详解
Jun 07 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
php的4种常见运行方式
Mar 20 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
Apr 08 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
Jan 13 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
Laravel下生成验证码的类
Nov 15 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
Phpstorm+Xdebug断点调试PHP的方法
May 14 PHP
Yii框架日志操作图文与实例详解
Sep 09 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
php根据数据id自动生成编号的实现方法
2016/10/16 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
改进:论坛UBB代码自动插入方式
2006/12/22 Javascript
jQuery 处理表单元素的代码
2010/02/15 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
2013/04/26 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
jquery.qtip提示信息插件用法简单实例
2016/06/17 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
JS文件上传神器bootstrap fileinput详解
2021/01/28 Javascript
微信小程序使用form表单获取输入框数据的实例代码
2018/05/17 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
vue-router源码之history类的浅析
2019/05/21 Javascript
使用JS监听键盘按下事件(keydown event)
2019/11/07 Javascript
vue 获取元素额外生成的data-v-xxx操作
2020/09/09 Javascript
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
wxpython中自定义事件的实现与使用方法分析
2016/07/21 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
Python计算机视觉里的IOU计算实例
2020/01/17 Python
Python3 assert断言实现原理解析
2020/03/02 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
pycharm激活码快速激活及使用步骤
2020/03/12 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
python转化excel数字日期为标准日期操作
2020/07/14 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
如何在python中实现线性回归
2020/08/10 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
无需JS和jQuery代码实现CSS3鼠标浮动放大图片
2016/11/21 HTML / CSS
个人查摆问题自查报告
2014/10/16 职场文书
五好家庭事迹材料
2014/12/20 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
《落花生》教学反思
2016/02/16 职场文书