实例代码如下:
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 {
$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();
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秒
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!