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

  • 时间:
  • 浏览:1
  • 来源:5分3D网投平台-5分6合投注平台_5分6合娱乐平台
作者:匿名 hihi 来源:诺豆网 浏览: 2011-10-27 17:38:34 字号:大 中 小

[摘要]相信也不人都有用wordpress搭建本人的博客的,将会亲们很少去关注wordpress的数据库查询,本文就讲一下怎么显示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.0003930132598877

[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下载

本文转自:http://www.nuodou.com/item/656.html

sssss
Tags: WordPress   WordPress数据库查询   WordPress技巧  
责任编辑:cc120