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 相关文章推荐
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
PHP4与PHP5的时间格式问题
Feb 17 PHP
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
Apr 23 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
Jul 22 PHP
php初始化对象和析构函数的简单实例
Mar 11 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
PHP新建类问题分析及解决思路
Nov 19 PHP
WordPress中邮件的一些修改和自定义技巧
Dec 15 PHP
php版微信自动登录并获取昵称的方法
Sep 23 PHP
ThinkPHP简单使用memcache缓存的方法
Nov 15 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 PHP
PHP高并发和大流量解决方案整理
Dec 24 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递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
addRule在firefox下的兼容写法
2006/11/30 Javascript
基于JQuery实现异步刷新的代码(转载)
2011/03/29 Javascript
Js动态添加复选框Checkbox的实例方法
2013/04/08 Javascript
javascript与有限状态机详解
2014/05/08 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
angular bootstrap timepicker TypeError提示怎么办
2017/06/13 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
用Vue.js方法创建模板并使用多个模板合成
2019/06/28 Javascript
JavaScript获取页面元素的常用方法详解
2019/09/28 Javascript
Python中Django发送带图片和附件的邮件
2017/03/31 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
python中利用h5py模块读取h5文件中的主键方法
2018/06/05 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
​如何愉快地迁移到 Python 3
2019/04/28 Python
numpy中的ndarray方法和属性详解
2019/05/27 Python
pymysql模块的使用(增删改查)详解
2019/09/09 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
Pytorch之view及view_as使用详解
2019/12/31 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
2020/06/29 Python
用css3实现转换过渡和动画效果
2020/03/13 HTML / CSS
浅谈关于html5中图片抛物线运动的一些心得
2018/01/09 HTML / CSS
世界顶级足球门票网站:Live Football Tickets
2017/10/14 全球购物
十八届三中全会学习方案
2014/02/16 职场文书
公务员更新知识培训实施方案
2014/03/31 职场文书
财务会计专业求职信
2014/06/09 职场文书
医学专业自荐信
2014/06/14 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
门市房租房协议书
2014/12/04 职场文书
2015年五一劳动节活动总结
2015/02/09 职场文书
redis实现的四种常见限流策略
2021/06/18 Redis
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
2021/08/30 Java/Android
Python 绘制多因子柱状图
2022/05/11 Python