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 相关文章推荐
一个简易需要注册的留言版程序
Oct 09 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
May 24 PHP
php动态实现表格跨行跨列实现代码
Nov 06 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
Jan 17 PHP
PHP 面向对象程序设计(oop)学习笔记(三) - 单例模式和工厂模式
Jun 12 PHP
PHP获取MySql新增记录ID值的3种方法
Jun 24 PHP
PHP内置的Math函数效率测试
Dec 01 PHP
CodeIgniter 完美解决URL含有中文字符串
May 13 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
PHP从尾到头打印链表实例讲解
Sep 27 PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 PHP
Laravel 自动生成验证的实例讲解:login / logout
Oct 14 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
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
vue内置组件keep-alive事件动态缓存实例
2020/10/30 Javascript
python创建关联数组(字典)的方法
2015/05/04 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
关于Pycharm无法debug问题的总结
2019/01/19 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
使用CSS3 制作一个material-design 风格登录界面实例
2016/12/12 HTML / CSS
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
strstr()的简单实现
2013/09/26 面试题
大学生实习期自我评价范文
2013/10/03 职场文书
电子信息专业学生自荐信
2013/11/09 职场文书
倡议书范文格式
2014/05/12 职场文书
和睦家庭事迹
2014/05/14 职场文书
消防安全承诺书
2014/05/22 职场文书
中学生运动会口号
2014/06/07 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript
CKAD认证中部署k8s并配置Calico插件
2022/03/31 Servers