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