wordpress 显示数据库查询次数 和 数据库分析 -云顶国际

有时候  很慢可能是某个插件或者某个函数读的次数太多,导致  很慢,这时候就需要找出什么在拖慢了。 有提供了功能函数可以查看到查询的统计信息,下面提供下代码,优化  必备哦!

显示你的博客查询次数和查询花费时间

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

1.网页加载时查询的次数:

2.服务器端完成这些查询所花费的时间:

 

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

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

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

< ?php echo get_num_queries(); ?> queries in < ?php timer_stop(3); ?> seconds

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

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

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

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

< ?php if (current_user_can('level_10')) {
echo '';
} ?>

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

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

define('savequeries', true);

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

";
print_r($wpdb->queries);
echo "
"; } ?>

分析:

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

2、global $wpdb; 定义全局变量$wpdb,这是wordpress默认的类;

3、

将结果嵌套在html标签
内;

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

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

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
)

之后通过自己分析哪些读取太多,自己根据情况优化就可以了。

# 更多技巧,请关注「专题」

         
网站地图