各位用户为了找寻关于php+mysql prepare 与普通查询的性能对比实例讲解的资料费劲了很多周折。这里教程网为您整理了关于php+mysql prepare 与普通查询的性能对比实例讲解的相关资料,仅供查阅,以下为您介绍关于php+mysql prepare 与普通查询的性能对比实例讲解的详细内容
php+mysql prepare 与普通查询的性能对比
实例代码如下:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66<?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秒
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!