PHP获取生成一个页面的数据库查询次数
2013-04-24 21:13
232 查看
很多博客软件都有这么一个功能,比如“生成本次页面一共花费了xx毫秒,进行了xx次数据库查询”等等。那么这个功能是如何实现的呢,下面我大概说下思路。
1. 在类的构造函数中声明全局变量
定义一个全局变量 $queries 用来统计页面生成经过的数据库查询次数。1 function __construct()
2 {
3 parent::__construct();
4 global $queries;
5 }
2. 修改数据库类中封装好的的 query()
你应该有用到数据库类吧,找到它封装 query() 的方法,比如下面的:1 // 执行SQL语句
2 public function query($query)
3 {
4 //echo $query.'<br />';
5 ++$GLOBALS['queries'];
6 return $this->result = mysql_query($query, $this->link);
7 }
那么每执行一次 Query,全局变量 queries 就会自增1。
3. 在方法体中这样写:1 public function content($id = 0)
2 {
3 $GLOBALS['queries'] = 0;
4 // something to do
5 echo $GLOBALS['queries'];
6 }
就这么简单就能实现那个功能了。
4. 附带计算PHP脚本执行的函数
之前写的博文介绍了下计算PHP脚本执行时间的函数,这里再贴一下吧。01 // 计时函数
02 public function runtime($mode = 0) {
03 static $t;
04 if(!$mode) {
05 $t = microtime();
06 return;
07 }
08 $t1 = microtime();
09 //list($m0,$s0) = split(" ",$t);
10 list($m0,$s0) = explode(" ",$t);
11 //list($m1,$s1) = split(" ",$t1);
12 list($m1,$s1) = explode(" ",$t1);
13 return sprintf("%.3f ms",($s1+$m1-$s0-$m0)*1000);
14 }
使用如下:1 public function content($id = 0)
2 {
3 $this -> runtime();
4 $GLOBALS['queries'] = 0;
5 // something to do
6 echo $GLOBALS['queries'];
7 echo $this -> runtime(1);
8
1. 在类的构造函数中声明全局变量
定义一个全局变量 $queries 用来统计页面生成经过的数据库查询次数。1 function __construct()
2 {
3 parent::__construct();
4 global $queries;
5 }
2. 修改数据库类中封装好的的 query()
你应该有用到数据库类吧,找到它封装 query() 的方法,比如下面的:1 // 执行SQL语句
2 public function query($query)
3 {
4 //echo $query.'<br />';
5 ++$GLOBALS['queries'];
6 return $this->result = mysql_query($query, $this->link);
7 }
那么每执行一次 Query,全局变量 queries 就会自增1。
3. 在方法体中这样写:1 public function content($id = 0)
2 {
3 $GLOBALS['queries'] = 0;
4 // something to do
5 echo $GLOBALS['queries'];
6 }
就这么简单就能实现那个功能了。
4. 附带计算PHP脚本执行的函数
之前写的博文介绍了下计算PHP脚本执行时间的函数,这里再贴一下吧。01 // 计时函数
02 public function runtime($mode = 0) {
03 static $t;
04 if(!$mode) {
05 $t = microtime();
06 return;
07 }
08 $t1 = microtime();
09 //list($m0,$s0) = split(" ",$t);
10 list($m0,$s0) = explode(" ",$t);
11 //list($m1,$s1) = split(" ",$t1);
12 list($m1,$s1) = explode(" ",$t1);
13 return sprintf("%.3f ms",($s1+$m1-$s0-$m0)*1000);
14 }
使用如下:1 public function content($id = 0)
2 {
3 $this -> runtime();
4 $GLOBALS['queries'] = 0;
5 // something to do
6 echo $GLOBALS['queries'];
7 echo $this -> runtime(1);
8
相关文章推荐
- PHP获取生成一个页面的数据库查询次数
- PHP获取生成一个页面的数据库查询次数
- PHP获取生成一个页面的数据库查询次数(转)
- PHP获取生成一个页面的数据库查询次数
- 获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
- PHP获取radio值,并用作参数查询数据库,同一页面显示
- php 根据给定的一个查询关键字,获取百度的相关关键字,多个页面获取,非单页的相关搜索
- 获取页面运行时间以及数据库查询次数
- 获取页面运行时间以及数据库查询次数
- 获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
- PHP post获取页面传过来的数组json存到数据库然后在取出来反转显示到页面
- java面试--(生成随机数,获取重复次数最多,并且数是最大的一个,打印出来)
- 使用的php获取数据库数据导出到页面
- 从页面上获取多选框的值进数据库查询
- PHP实现获取并生成数据库字典的方法
- php获取数据库中数据生成json,中文乱码问题的解决方案
- php从数据库查询结果生成树形列表的方法
- Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
- php页面静态化 获取页面缓存生成HTML页面
- php页面获取数据库中的数据