php使用mysqli和pdo扩展,测试对比mysql数据库的执行
PHP使用mysqli和PDO扩展的数据库执行效率对比
以下是代码示例:
// 测试PDO和MySQLi的执行效率
header("Content-type:text/html;charset=utf-8");
$pdo_startTime = microtime(true);
$pdo = new PDO("mysql:host=localhost;dbname=test","root","1234",array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8';"));
$pdo_sql = "INSERT INTO `article`(`title`,`content`,`addtime`,`user_id`) VALUES(:title,:content,:addtime,:user_id)";
for($i=1;$i<=100;$i++){
$title = "PDO标题".$i;
$content = "PDO内容".$i;
$addtime = time();
$user_id = $i;
$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执行时间:" . $pdo_time . "秒";
echo "
";
$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执行时间:" . $mysqli_time . "秒";
echo "
";
if($pdo_time > $mysqli_time){
echo "PDO的执行时间是MySQLi的" . round($pdo_time/$mysqli_time) . "倍";
}else{
echo "MySQLi的执行时间是PDO的" . round($mysqli_time/$pdo_time) . "倍";
}
?> 接下来,我们将对测试结果进行分析。经过多次测试,我们发现PDO和MySQLi的执行效率相差不大。对于不同的应用场景和数据库结构,执行效率可能会有所差异。在选择使用PDO还是MySQLi时,需要根据具体需求进行评估。 本站还提供了其他与PHP相关的专题文章,供感兴趣的读者参考。希望本文能对PHP程序设计爱好者有所帮助。 若要渲染本文至特定容器(如网页的body部分),请使用适当的渲染方法(如Cambrian框架中的render方法)。 请注意,本文仅作为示例代码,实际应用中可能需要根据具体情况进行调整和优化。
编程语言
- php使用mysqli和pdo扩展,测试对比mysql数据库的执行
- php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
- vue.js实现只弹一次弹框
- JavaScript匿名函数用法分析
- Ubuntu 下安装SQL Server教程
- sqlserver 数据类型转换小实验
- js实现楼层导航功能
- vue2.0移动端滑动事件vue-touch的实例代码
- fso的一些特殊功能
- 微信小程序 wxapp导航 navigator详解
- PHP mysql事务问题实例分析
- JavaScript中的cacheStorage使用详解
- php中strstr、strrchr、substr、stristr四个函数的区别总
- PHP如何通过传引用的思想实现无限分类(代码简单
- 解决wx.onMenuShareTimeline出现的问题
- vue 的keep-alive缓存功能的实现