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

 更新时间:2019年05月09日 11:01:17   作者:Yxh_blogs  
这篇文章主要介绍了php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率,结合完整实例形式对比分析了php分别使用mysqli与pdo进行数据库插入操作的执行时间,需要的朋友可以参考下

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

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

相关文章

  • thinkphp3.2点击刷新生成验证码

    thinkphp3.2点击刷新生成验证码

    这篇文章主要介绍了thinkphp3.2点击刷新生成验证码的相关资料,需要的朋友可以参考下
    2016-02-02
  • php正则表达式基本知识与应用详解【经典教程】

    php正则表达式基本知识与应用详解【经典教程】

    这篇文章主要介绍了php正则表达式基本知识与应用,详细讲述了php正则表达式的基本概念、知识点并结合实例形式分析了php正则表达式的使用技巧,需要的朋友可以参考下
    2017-04-04
  • PHP实现QQ空间自动回复说说的方法

    PHP实现QQ空间自动回复说说的方法

    这篇文章主要介绍了PHP实现QQ空间自动回复说说的方法,涉及php基于curl调用自动回复接口的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-12-12
  • php 结果集的分页实现代码

    php 结果集的分页实现代码

    php结果集的分页,后面都有详细的说明。最近的php将会让你学到更多。
    2009-03-03
  • PHP实现的简单路由和类自动加载功能

    PHP实现的简单路由和类自动加载功能

    这篇文章主要介绍了PHP实现的简单路由和类自动加载功能,结合实例形式分析了php路由及类自动加载的原理与相关实现技巧,需要的朋友可以参考下
    2018-03-03
  • 总结对比php中的多种序列化

    总结对比php中的多种序列化

    序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。下面来看php中多种序列化的对比。
    2016-08-08
  • php正则表达式(regar expression)

    php正则表达式(regar expression)

    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的语法。
    2011-09-09
  • PHP 实现代码复用的一个方法 traits新特性

    PHP 实现代码复用的一个方法 traits新特性

    这篇文章主要介绍了PHP 实现代码复用的一个方法,traits的新特性的相关资料,需要的朋友可以参考下
    2015-02-02
  • PHP单元测试PHPUnit简单用法示例

    PHP单元测试PHPUnit简单用法示例

    这篇文章主要介绍了PHP单元测试PHPUnit简单用法,结合实例形式分析了PHPUnit的安装、单元测试简单操作技巧,需要的朋友可以参考下
    2018-07-07
  • 百度工程师讲PHP函数的实现原理及性能分析(三)

    百度工程师讲PHP函数的实现原理及性能分析(三)

    这篇文章主要介绍了百度工程师讲PHP函数的实现原理及性能分析(三),本文讲解了常用php函数实现及介绍,并作了总结及建议,需要的朋友可以参考下
    2015-05-05

最新评论