输出WordPress数据库查询的详细内容 淘汰数据库查询次数

  相信许多人都是用wordpress搭建本身的博客的,大概各人很少去存眷wordpress的数据库查询,下面就来看一下看:

  在 footer.php 里添加了如下代码,以显示wordpress查询数据库次数及查询耗时:

<?php echo get_num_queries() . ' queries in ' . timer_stop(0) . ' seconds.'; ?>

  功效显示首页查询30次,日志页查询达45次。。。真是郁闷,为了查察详细查询了数据库哪些内容,Google了一下,获得如下办理要领,这里总结出来:

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

define('SAVEQUERIES', true);

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

<?php if (is_user_logged_in()){
global $wpdb;
echo "<pre>";
print_r($wpdb->queries);
echo "</pre>";
} ?>

阐明:

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); 输出各次数据库查询的信息。

  刷新首页或日志页,可看到雷同如下的输出功效:

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
)

  下面的活儿就得本身阐明白,看看哪些是可以删除,哪些是可以改造的,以淘汰数据库查询次数。

WordPress下载

WordPress v3.5.2 简体中文版下载

输出WordPress数据库查询的具体内容 裁减数据库查询次数

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/10418.html