本站建立以来一直对网站在做优化,可是优化的结果只能凭借感觉上来判断页面加载快了还是慢了,突然发现两个函数,可以从数值上帮助直观的断定页面的加载情况。这两个函数分别是get_num_queries
与timer_stop
.修改footer部分的代码,将查询结果显示在页面上,如本站的底部样式代码
<p>本页共执行 <?php echo get_num_queries(); ?>次查询操作,耗时<?php timer_stop(3); ?>秒</p>
如果想给人高大上的感觉可以用
< ?php echo get_num_queries(); ?> queries in < ?php timer_stop(3); ?> seconds
高级进阶
1.如果你不想将统计信息显示在页面上供访问者查看,但又想自己可以知道这些统计信息,那么你可以通过html的注释将结果只显示在源代码中
<!-- <?php echo get_num_queries(); ?> queries in < ?php timer_stop(3); ?> seconds -->
只是用html的语言注释掉了
2.统计信息只有你自己登录了后可以看到,该方法是第二种显示的优化方法,博客管理员登录后就可以通过查看网页源码查询统计信息,访问者是无法查看的
< ?php if (current_user_can('level_10')) { //判断用户否为管理员登录 echo '<!-- ' . get_num_queries() . ' queries in ' . timer_stop(3) . ' seconds -->'; } ?>
3.如果想查看具体查询了数据库哪些内容,首先在wp-config.php里添加define('SAVEQUERIES', true);
,然后再底部添加下面代码
<?php if (is_user_logged_in()){ //判断是否登录,如果只有管理员能看到可以用current_user_can('level_10') global $wpdb; //定义全局变量$wpdb
,这是Wordpress默认的数据库类 echo "<pre>"; //将结果嵌套在HTML标签<pre>
内 print_r($wpdb->queries); //输出各次数据库查询的信息 echo "</pre>"; } ?>
输出的结构数据如下,然后根据个人判断进行优化了
Array ( [0] => Array ( [0] => SELECT SQL_CALC_FOUND_ROWS wp_posts.* FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_date DESC LIMIT 0, 10 [1] => 0.0003960132598877 [2] => require, wp, WP->main, WP->query_posts, WP_Query->query, WP_Query->get_posts ) [1] => Array ( [0] => SELECT option_value FROM wp_options WHERE option_name = 'nuodou_header_code' LIMIT 1 [1] => 0.0013589859008789 [2] => require, require_once, include, get_header, locate_template, load_template, require_once, get_option )
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。