手机版

PDO 与 MySQLi 二者效率简单比较 - MySQL中文参考手册

2019-09-11 阅读 :

PDO 与 MySQLi 二者效率简单比较

连接效率比较

<?php$p_start_time = microtime(true);for ($i = 1; $i <= 100; $i++) {    $pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'aaaaaa');}$p_end_time = microtime(true);$res = $p_end_time - $p_start_time; // PDO 连接方式耗时$m_start_time = microtime(true);for ($i = 1; $i <= 100; $i++) {    mysqli_connect('localhost', 'root', 'aaaaaa', 'test');}$m_end_time = microtime(true);$res2 = $m_end_time - $p_start_time; // MySQL 连接方式耗时var_dump($res, '<br />', $res2);if ($res > $res2) {    echo 'PDO 连接数据库是 MySQL 的' . round($res2 / $res) . '倍';} else {    echo 'MySQL 连接数据库是 PDO 的' . round($res2 / $res) . '倍';}

写入速度比较

<?php// PDO 与 MySQLi 两种连接方式写入效率简单比较$p_start_time = microtime(true);$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'aaaaaa');// 写入数据表$sql = <<<EOFCREATE TABLE IF NOT EXISTS test(    id int unsigned not null)ENGINE=InnoDB CHARSET utf8 comment '写入测试表';EOF;$pdo->exec($sql);// 使用 PDO 预处理语句写入 500 条数据到数据库$sql = 'INSERT INTO test VALUES(:id)';$statement = $pdo->prepare($sql);for ($i = 1; $i <= 500; $i++) {    $id = 1;    $statement->bindParam(':id', $id, PDO::PARAM_INT);    $statement->execute();}unset($pdo); // 销毁 PDO 对象$p_end_time = microtime(true);$res = $p_end_time - $p_start_time; // PDO 连接方式耗时$m_start_time = microtime(true);// 使用 MySQLi 连接方式写入 500 条数据到数据库$link = mysqli_connect('localhost', 'root', 'aaaaaa', 'test');for ($i = 1; $i <= 500; $i++) {    $sql = 'INSERT INTO test VALUES (2)';    mysqli_query($link, $sql);}mysqli_close($link); // 关闭连接$m_end_time = microtime(true);$res2 = $m_end_time - $p_start_time; // MySQL 连接方式耗时var_dump($res, '<br />', $res2);if ($res > $res2) {    echo 'PDO 连接数据库写入速度是 MySQL 的' . round($res2 / $res) . '倍';} else {    echo 'MySQL 连接数据库写入速度是 PDO 的' . round($res2 / $res) . '倍';}


服务器软件 网络工具 网站工具 服务器教程 服务器知识 服务器技术 服务器之家 vps教程 vps是什么

本文标题:PDO 与 MySQLi 二者效率简单比较 - MySQL中文参考手册 - 服务器教程_服务器技术_服务器知识_vps教程
本文地址:http://www.helloaliyun.com/tutorial/528.html

相关文章

  • Linux Shell 教程_Linux Shell 中文详解参考手册
    Linux Shell 教程_Linux Shell 中文详解参考手册

    Shell是外壳的意思,就是操作系统的外壳。我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls、cd、pwd等等。总结来说,Shell是一个命令解释器,它通过接受用户输入的Shell命令来启动、暂停、停止程序的运行或对计算机进行控制。Shell脚本就是由Shell命令组成的文件,这些命令都是可执行程序的名字,脚本不用编译即可运行,它通过解释器解释运行。...

    2019-09-11 服务器教程
  • Shell 教程:Shell是什么?一分钟理解Shell的概念!
    Shell 教程:Shell是什么?一分钟理解Shell的概念!

    现在我们使用的操作系统(Windows、Mac OS、Android、iOS 等)都是带图形界面的,简单直观,容易上手,对专业用户(程序员、网管等)和普通用户(家庭主妇、老年人等)都非常适用;计算机的普及离不开图形界面。 然而在计算机的早期并没...

    2019-09-11 服务器教程
  • Shell 教程:Shell 文件包含

    和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。Shell 文件包含的语法格式如下:. filename # 注意点号(.)和文件名中间有一空格或source filename实例创建两个 sh...

    2019-09-11 服务器教程
  • Shell 教程:Shell 输入/输出重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端。一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端。同样,一个命令通常将其输出写入到标准输出,默认情况下,这也是...

    2019-09-11 服务器教程
  • Shell 教程:Shell 函数

    linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的定义格式如下:[ function ] funname [()]{ action; [return int;]}说明: 1、可以带function fun() 定义,也可以直接fun() 定义,不带任...

    2019-09-11 服务器教程
  • Shell 教程:Shell的流程控制

    和Java、PHP等语言不一样,Shell的流程控制不可为空,如(以下为PHP流程控制写法):<?phpif (isset($_GET["q"])) { search(q);}else { // 不做任何事情}在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个...

    2019-09-11 服务器教程
  • Shell 教程:Shell test 命令

    Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等...

    2019-09-11 服务器教程
  • Shell 教程:Shell printf 命令

    printf 命令模仿 C 程序库(library)里的 printf() 程序。printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好。printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制...

    2019-09-11 服务器教程
  • Shell 教程:Shell echo命令

    Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:echo string您可以使用echo实现更复杂的输出格式控制。1.显示普通字符串:echo "It is a test"这里的双引号完全可以省略,以下命令与上面实例...

    2019-09-11 服务器教程
  • Shell 教程:Shell 基本运算符

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表...

    2019-09-11 服务器教程
你可能感兴趣