php+mysql prepare 与普通查询的性能对比实例讲解

 更新时间:2016年12月2日 09:07  点击:1958

php+mysql prepare 与普通查询的性能对比

实例代码如下:

<?php 
class timer {   
    public $StartTime = 0;   
    public $StopTime = 0;   
    public $TimeSpent = 0;   
      
    function start(){   
      $this->StartTime = microtime();   
    }   
      
    function stop(){   
      $this->StopTime = microtime();   
    }   
      
    function spent() {   
      if ($this->TimeSpent) {   
      return $this->TimeSpent;   
 
      } else {  
        // http://www.manongjc.com
        $StartMicro = substr($this->StartTime,0,10);   
        $StartSecond = substr($this->StartTime,11,10);   
        $StopMicro = substr($this->StopTime,0,10);   
        $StopSecond = substr($this->StopTime,11,10);   
        $start = floatval($StartMicro) + $StartSecond;   
        $stop = floatval($StopMicro) + $StopSecond;   
        $this->TimeSpent = $stop - $start; 
         
      return round($this->TimeSpent,8).'秒';   
      }  
    }  
  
} 
 
$timer = new timer;   
$timer->start();  
 
$mysql = new mysqli('localhost','root','root','ganbaobao_ucenter'); 
 
/* 
$query = $mysql->query("select username,email from uc_members where uid < 100000"); 
$result = array(); 
http://www.manongjc.com/article/1194.html
while($result = $query->fetch_array()) 
{ 
  $result[] = array('name'=>$result['username'],'email'=>$result['email']); 
} 
*/ 
$query_prepare = $mysql->prepare("select username,email from uc_members where uid < ?"); 
 
$id = 100000; 
$query_prepare->bind_param("i",$id); 
 
$query_prepare->execute(); 
$query_prepare->bind_result($username,$email); 
 
$result = array(); 
while($query_prepare->fetch()) 
{ 
  $result[] = array('name'=>$username,'email'=>$email); 
} 
 
$timer->stop();  
echo '</br>预查询mysql运行100000条数据时间为: '.$timer->spent();  
unset($timer);  
//var_dump($result); 

运行结果:

普通mysql运行1000条数据时间为: 0.011621秒

普通mysql运行10000条数据时间为: 0.07766891秒

普通mysql运行100000条数据时间为: 0.10834217秒

预查询mysql运行1000条数据时间为: 0.00963211秒

预查询mysql运行10000条数据时间为: 0.04614592秒

预查询mysql运行100000条数据时间为: 0.05989885秒

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

[!--infotagslink--]

相关文章

  • 快速解决PHP+MYSQL 出现乱码的解决方法

    如果你mysql查询出来乱码的话,多半是中文乱码了了,这种问题解决办法只需要统一页面与数据连接时的编码设置就可以解决,下面总结了些方法。 在mysql_connect后面加一...2016-11-25
  • Windows中关于php+mysql5.7的配置

    这篇文章主要为大家详细介绍了Windows下php+mysql5.7配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 WINDOWS 下 PHP+MYSQL配置下载mysql地址:https://d...2017-07-06
  • php+mysql大量用户登录解决方案

    百度、QQ、360等大公司都拥有上亿的用户量。不仅所有子网站都通过一个账号登录,而且还开放用户平台,提供给其他网站使用。这种级别的数据量和访问量 如果不做优化,估计很...2016-11-25
  • ajax+php+mysql无刷新分页代码(1/2)

    代码如下 复制代码 <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"> 2 <html>...2016-11-25
  • PHP+MYSQL三日通

    一、PHP/MySQL简介   您应该听说过开放源代码软件(OSS),除非最近六到八个月来您一直住在火星上。这场运动有着巨大的冲击力,已引起一些大公司的注意。象Oralce、Inform...2016-11-25
  • php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码

    很简单的 1.先把 <script language="JavaScript" src="../include/js/regions.js"></script> 加到 header.html 页 2.把 regionss() 函数 加到 /include...2016-11-25
  • PHP+mysql+ajax轻量级聊天室

    下面我们来看一篇关于PHP+mysql+ajax轻量级聊天室教程,希望这篇教程能够帮助到各位朋友. 本文实例讲述了PHP+mysql+ajax轻量级聊天室实现方法。分享给大家供大家...2016-11-25
  • php+mysql prepare 与普通查询的性能对比实例讲解

    prepare可以解决大访问量的网站给数据库服务器所带来的负载和开销,本文章通过实例向大家介绍预查询prepare与普通查询的性能对比,需要的朋友可以参考一下...2016-12-02
  • PHP+MYSQL开发 视频教程

    PHP+MYSQL/开发 视频教程 解决方法 [img]http://www.caopeng.org/html/image/php.jpg[/img] 曹鹏 PHP+MYSQL 为网络开发提供流行动力 PHP+MYSQL是今天用的最...2016-11-25
  • Php+MySql分页机制两种方案的比较测试

    硬件环境:PIII550,128M,15.2G 软件环境:Win98+Apache+Php4+MySql 方案一: 1.第一次查询时用Select count(1) from tab where condition 取得满足条件的记录数$rows ...2016-11-25
  • php+mysql+js实现树形菜单代码

    这是一款由php+mysql数据库的读取数据库的内容再生成树型号菜单由js来控制 代码如下 复制代码 <html> <head> <meta http-equiv="content...2016-11-25
  • PHP+MySQL实现简单留言板功能

    留言板基于功能就是数据添加管理修改及数据删除功能了,下面我们就来看一个PHP+MySQL实现简单留言板例子,希望文章能够帮助到大家。 通过php+mysql 实现的简易blog,可...2016-11-25
  • 理解Mysql prepare预处理语句

    这篇文章主要帮助大家学习理解Mysql prepare预处理语句,对prepare预处理语句感兴趣的小伙伴们可以参考一下...2016-03-27
  • 会员注册验证代码(php+mysql+Ajax)

    会员注册验证代码(php+mysql+Ajax) 会员注册验证代码(php教程+mysql教程+ajax) <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www....2016-11-25
  • PHP+MYSQL会员系统的登陆即权限判断

    含三个页面,cogfig页面是被包含页面。denglu页面负责提交,session赋值等,denglu_link页面负责权限判断的演示。 本例事先已存在test数据库,user_list表,表中有uid,m_id,us...2016-11-25
  • PHP+Mysql+jQuery+fullcalendar实现的微型公司内部订餐系统(1/8)

    本文涉及到的插件: jQuery, jQuery.UI, fullcalendar 数据库教程创建: CREATE TABLE USER ( ID INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(100) ); CREAT...2016-11-25
  • php+mysql简单的无限分类栏目

    无限分类原理非常的简单就是找到自己上级目录交级递归去操作,然后再找自己的上级直到最上级为止了,这种就可以实现了无限级分类了,下面看个例子。 一个非常简单清晰...2016-11-25
  • PHP+MYSQL的文章管理系统(二)

    ###############index.php###################### <?session_start(); require"./inc/func.php"; mscon(); require "./inc/header.inc"; ?> <script language=...2016-11-25
  • PHP+MYSQL 出现乱码问号的解决方法

    php与mysql密码多半与php是没有任何关系了,这个我们只要把页面与mysql编码进行处理即可解决乱码问题,乱码也只是中文会乱码了。 使用PHP+MYSQL时遇到过字符乱问题,解...2016-11-25
  • php+mysql图片输入输出

    php+mysql 图象输入输出 我看了网上的例子~用了~发现图片进数据库没问题~但是关于输出部分总是报错~ 代码如下 建库: CREATE TABLE Images ( PicNum int NOT...2016-11-25