WordPress显示数据库查询次数和查询花费时间

WordPress提供了一些功能函数可以轻松地显示数据库查询的统计信息,这些信息可以公开地显示在网页中,或者隐藏在源代码中,更或者只有你自己可以看到。

WordPress显示数据库查询次数和查询花费时间

Wordpress主要提供了两个统计函数:

1.网页加载时查询数据库的次数:<?php echo get_num_queries(); ?>

2.服务器端完成这些查询所花费的时间:<?php timer_stop(7); ?>

可以使用3种方式在网页中显示:

1. 公开地显示查询的统计信息:

如果你觉的你的服务器或空间的处理速度好,或者想让你的访问者看到这些查询统计信息的话,你可以将这些统计信息公开显示在页面中:(效果查看博客的页面底部)

  1. <p>< ?php echo get_num_queries(); ?> queries in < ?php timer_stop(3); ?> seconds</p>

2. 将统计信息显示在源代码中,而不出现页面的内容中:

如果你不想将统计信息显示在页面上供访问者查看,但又想自己可以知道这些统计信息,那么你可以通过html的注释将结果只显示在源代码中(PS:大家也可以从源代码中查看的哦!):

  1. <!-- <?php echo get_num_queries(); ?> queries in < ?php timer_stop(3); ?> seconds -->

3. 统计信息只有你自己登录了后可以看到:

该方法是第二种显示的优化方法,只需博客管理员登录后就可以查看查询统计信息,访问者是无法查看的:

  1. < ?php if (current_user_can('level_10')) {
  2. echo '<!-- ' . get_num_queries() . ' queries in ' . timer_stop(3) . ' seconds -->';
  3. } ?>

如果想查看具体查询了数据库哪些内容,可以用如下解决方法

1、首先在 wp-config.php 里添加如下代码:

  1. define('SAVEQUERIES', true);

然后在 footer.php 里添加如下代码:

  1. <?php if (is_user_logged_in()){
  2. global $wpdb;
  3. echo "<pre>";
  4. print_r($wpdb->queries);
  5. echo "</pre>";
  6. } ?>

分析:

1、if (is_user_logged_in()) 用于判断当前访客是否已登录,也可以用 if (current_user_can('level_10')) 来判断是否为管理员登录,目的是为了不让游客查看到这些数据,此代码可省;

2、global $wpdb; 定义全局变量$wpdb,这是Wordpress默认的数据库类;

3、<pre></pre>将结果嵌套在HTML标签<pre>内;

4、print_r($wpdb->queries); 输出各次数据库查询的信息。

刷新首页或日志页,可看到类似如下的输出结果:

  1. Array
  2. (
  3. [0] => Array
  4. (
  5. [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 010
  6. [1] => 0.0003960132598877
  7. [2] => require, wp, WP->main, WP->query_posts, WP_Query->query, WP_Query->get_posts
  8. )
  9. [1] => Array
  10. (
  11. [0] => SELECT option_value FROM wp_options WHERE option_name = 'nuodou_header_code' LIMIT 1
  12. [1] => 0.0013589859008789
  13. [2] => require, require_once, include, get_header, locate_template, load_template, require_once, get_option
  14. )

下面的活儿就得自己分析了,看看哪些是可以删除,哪些是可以改进的,以减少数据库查询次数。

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如果您也有好的资源或教程,您可以投稿发布,成功分享后有M币奖励和额外收入!

模板下载吧 Wordpress教程 WordPress显示数据库查询次数和查询花费时间 https://www.mbxzb.com/blog/wordpress/22390.html

从明天起,做一个幸福的人,喂马、劈柴、周游世界…

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

评论
暂无评论
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 威武 友军 顶贴
官方客服团队

为您解决烦忧 - 24小时在线 专业服务