计算一个页面中的数据库查询次数和用时
很多博客软件都有这么一个功能,比如“生成本次页面一共花费了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脚本执行时间的函数,这里再贴一下吧。
1 // 计时函数 2 public function runtime($mode = 0) { 3 static $t; 4 if(!$mode) { 5 $t = microtime(); 6 return; 7 } 8 $t1 = microtime(); 9 //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 }
转载于:https://www.cnblogs.com/cobobryan/p/3977296.html
计算一个页面中的数据库查询次数和用时相关推荐
- 37--计算一个字符串中每个字符出现次数
1.问题描述 需求:计算一个字符串中每个字符出现次数. 2.解题思路 获取一个字符串对象: 创建一个Map集合,键代表字符,值代表次数: 遍历字符串得到每个字符: 判断Map中是否有该键: 如果没有, ...
- java 循环list 对象_java计算list集合中重复对象的次数及for循环内外创建对象
我的需求:计算字符串集合中"数值"出现的次数,然后在for循环中计算"数值"及出现的次数 解决方案: 1.使用collections类中的frequency(集 ...
- PHP 函数调用次数,php获取页面执行时间,数据库读写次数,函数调用次数等(THINKphp)的简单示例...
感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!THINKphp里面有调试运行状态的效果: Process:0.2463s (Load:0.0003s Init:0.0010s Exec:0.1 ...
- java计算list集合中重复对象的次数及for循环内外创建对象
2019独角兽企业重金招聘Python工程师标准>>> 我的需求:计算字符串集合中"数值"出现的次数,然后在for循环中计算"数值"及出现的次 ...
- python统计列表中元素个数_python中计算一个列表中连续相同的元素个数方法
python中计算一个列表中连续相同的元素个数方法 最简单的例子: a = [1,1,1,1,2,2,2,3,3,1,1,1,3] # 问:计算a中最多有几个连续的1 很明显,答案是4 如果用代码实现 ...
- php查询数据库如何降低负荷,WordPress通过减少数据库查询次数来优化性能的方法...
说起WordPress优化来算是一个老生常谈的话题了,WordPress很慢,这是很多人都在说的,我记得此论调也就是这几年才流行开的,据说是因为一个台湾的WordPress大咖在自己博客上宣称&quo ...
- php输出json到表格,PHP中把数据库查询结果输出为json格式
header("Content-type:text/html;charset=utf-8");//字符编码设置 $servername = "localhost" ...
- jsp在mysql中删除数据_如何在jsp页面中删除数据库中的数据
如何在jsp页面中删除数据库中的数据 各位大虾! 我想在jsp页面上写一个按钮功能,从而动态的删除数据库中的一行数据. 不知道怎么实现 这是我写的一段代码 数据库是MySql UserBean p3= ...
- 求一个字符串中连续出现的次数最多的子串
求一个字符串中连续出现的次数最多的子串.例如字符串"abababc",最多连续出现的为ab,连续出现三次.要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复 ...
最新文章
- __block的初步用法
- 使用驱动器f:中的光盘之前需要将其格式化_mac虚拟光驱Daemon Tools高级功能详解—光盘刻录...
- linux基础学习7
- linux磁盘高,CentOS 7.2中磁盘iowait过高解决
- (剑指Offer)面试题46:求1+2+3+....+n
- 2-1 CPU多级缓存-缓存一致性.mkv
- 关于公开产品想法这件事的开篇
- 重要开源!CNN-RNN-CTC 实现手写汉字识别
- 开篇~试试word写博客
- linux系统下UTF-8转GBK编码,使用汉字字库在LCD显示汉字
- DWG文件怎么转换成PDF的一分钟实用技巧
- 安全管理体系升级 迈动互联获得ISO国际认证
- Scratch编程(十)扩展模块:视频侦测模块
- FM模型及其在推荐系统中的应用
- ClickHouse-尚硅谷(1. 入门-概述)学习笔记
- mxnet下载与使用
- K-mean 算法代码演示
- 计算机是如何识别内核态和用户态,用户态和内核态区分(二十七)
- PG:什么是grouping sets
- 12款适合小团队协作、任务管理和进度跟踪的在线任务管理的工具推荐?
热门文章
- python编程之美pdf_GitHub - Farolding/toPdf: 爬取“Python编程之美:最佳实践指南”制作PDF电子书...
- 正则表达式的由来(Wikipedia和百度整合记录)
- POJO VO PO DTO 和JavaBean
- Linux中TTY是什么意思
- 批量下载文件并重命名
- c#使用PortableDeviceApiLib读取便携式设备(WPD:Windows Portable Devices)信息
- 写代码没意思,来个程序媛鼓励师吧
- Java代码混淆案例(附反编译工具)
- 浏览器F12(开发者调试工具) 功能介绍
- Android性能优化之使用线程池处理异步任务