debug能干什么?如何借助他提高模板执行效率

分析当前页面中的mysql语句、ajax请求内容、加载了多少程序文件、打印G变量、服务器与客户端信息;
可以明细的列出当前页面的查询可以具体查询出现的文件,和时间。并且有查询的 explain 信息。便于检查哪里出现了慢查询;
可以查看当前页面内存使用情况;
可以列出当前页面 $_G 变量中的内容;
可以列出当前页面的 cookie 内容;
可以查看当前浏览器的信息,User Agent等。

使用方法:

解压,将 function_debug.php 放到 source/function 目录下。

修改配置文件:
修改 config\config_global.php
在 $_config['remote']['cron'] = 1; 后加入一行:
$_config['debug'] = 1;

则,每个页面都将开启 debug 模式。如果修改为:
$_config['debug'] = 'debug';

则不是每个页面都显示 debug 信息只有在 url 后面加上 &debug=debug 才会显示,这就可以避免普通用户也看到 debug 信息了。

下载工具地址:http://www.discuz.net/thread-2286995-1-1.html

以在论坛主题列表页为例,以下截图是debug分析当前页面中mysql语句的查询情况:

论坛主题列表页为例分析模板执行效率

本页sql介绍:Queries: 13 这个页面总共产生了13个mysql查询语句

抽取第一条mysql信息注释

0.000303s • SELECT * FROM pre_common_member WHERE uid='1' 后面是mysql语句,前面的时间是这句mysql的查询时间

蓝色框是mysql的EXPLAIN信息,我们可以参考这个地方对数据表做一些索引优化
EXPLAIN解释:http://linux.chinaunix.net/techdoc/database/2008/06/22/1012539.shtml

红色框中是这句mysql所在的文件、行、以及那些文件对这句mysql进行过处理

从红色框中返回的这些mysql语句周边信息,我们就可以清晰的了解到当前这句sql语句所在程序位置:
source\function\function_core.php 130行
mysql语句的执行函数【DB::fetch_first()】
【DB::fetch_first()】这个函数又是经过以下文件进行封装:
source\class\class_core.php 982行
ps:
如果一个页面执行时间到了1s你就需要看看是否有需要优化的内容
如果一句mysql语句的查询时间到了0.1s就需要检查一下是否需要进行优化