PHP获取生成一个页面的数据库查询次数
2012-06-02 00:00
681 查看
很多博客软件都有这么一个功能,比如“生成本次页面一共花费了xx毫秒,进行了xx次数据库查询”等等。那么这个功能是如何实现的呢,下面我大概说下思路。
1. 在类的构造函数中声明全局变量
定义一个全局变量 $queries 用来统计页面生成经过的数据库查询次数。
2. 修改数据库类中封装好的的 query()
你应该有用到数据库类吧,找到它封装 query() 的方法,比如下面的:
那么每执行一次 Query,全局变量 queries 就会自增1。
3. 在方法体中这样写:
就这么简单就能实现那个功能了。
4. 附带计算PHP脚本执行的函数
之前写的博文介绍了下计算PHP脚本执行时间的函数,这里再贴一下吧。
使用如下:
1. 在类的构造函数中声明全局变量
定义一个全局变量 $queries 用来统计页面生成经过的数据库查询次数。
function __construct() { parent::__construct(); global $queries; }
2. 修改数据库类中封装好的的 query()
你应该有用到数据库类吧,找到它封装 query() 的方法,比如下面的:
// 执行SQL语句 public function query($query) { //echo $query.'<br />'; ++$GLOBALS['queries']; return $this->result = mysql_query($query, $this->link); }
那么每执行一次 Query,全局变量 queries 就会自增1。
3. 在方法体中这样写:
public function content($id = 0) { $GLOBALS['queries'] = 0; // something to do echo $GLOBALS['queries']; }
就这么简单就能实现那个功能了。
4. 附带计算PHP脚本执行的函数
之前写的博文介绍了下计算PHP脚本执行时间的函数,这里再贴一下吧。
// 计时函数 public function runtime($mode = 0) { static $t; if(!$mode) { $t = microtime(); return; } $t1 = microtime(); //list($m0,$s0) = split(" ",$t); list($m0,$s0) = explode(" ",$t); //list($m1,$s1) = split(" ",$t1); list($m1,$s1) = explode(" ",$t1); return sprintf("%.3f ms",($s1+$m1-$s0-$m0)*1000); }
使用如下:
public function content($id = 0) { $this -> runtime(); $GLOBALS['queries'] = 0; // something to do echo $GLOBALS['queries']; echo $this -> runtime(1); }
相关文章推荐
- PHP获取生成一个页面的数据库查询次数
- PHP获取生成一个页面的数据库查询次数
- PHP获取生成一个页面的数据库查询次数(转)
- PHP获取生成一个页面的数据库查询次数
- 获取页面运行时间以及数据库查询次数
- php 根据给定的一个查询关键字,获取百度的相关关键字,多个页面获取,非单页的相关搜索
- 获取页面运行时间以及数据库查询次数
- 获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
- 获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
- PHP获取radio值,并用作参数查询数据库,同一页面显示
- PHP+openlayers实现的一个登陆校园卡网获取消费数据中地点生成个人运动轨迹的小DEMO
- 使用的php获取数据库数据导出到页面
- 最近设计了一个生成asp代码的程序,同时也可以作为数据库管理查询的软件,发两张图,等完全做好了,给大家共享!
- jsp页面获取参数 执行sql查询数据库
- 查询数据库并且将查询到的数据生成一个数组
- Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
- php 获取用textarea保存到数据库的内容,显示到页面保持换行
- PHP实现获取并生成数据库字典的方法
- php随机数怎么获取?一个简单的函数就能生成
- java面试--(生成随机数,获取重复次数最多,并且数是最大的一个,打印出来)