
最近做了一个wordpress企业模板,注意查询次数!数据展示首页被查询30次,日志页面被查询45次。。。太无聊了。为了更好地查询数据库实际查询的内容,我谷歌了一下,得到了以下解决方案,这里总结一下。
近期做一个wordpress的企业模板,关注了一下查询次数这个东西!在footer.php里加上了以下编码,以显示信息wordpress查询数据库查询次数及查询用时:
<?phpechoget_num_queries().'queriesin'.timer_stop(0).'seconds.';?>
数据显示主页查询三十次,日志页查询达45次。。。简直烦闷,为了更好地查询实际查询了数据库查询什么內容,Google了一下,获得以下解决方案,这儿汇总出去:
最先在wp-config.php里加上以下编码:
define('SAVEQUERIES',true);
随后在footer.php里加上以下编码:
复制代码编码以下:
<?phpif(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]=>SELECTSQL_CALC_FOUND_ROWSwp_posts.*FROMwp_postsWHERE1=1ANDwp_posts.post_type='post'AND(wp_posts.post_status='publish'ORwp_posts.post_status='private')ORDERBYwp_posts.post_dateDESCLIMIT0,10
[1]=>0.0003960132598877
=>require,wp,WP->main,WP->query_posts,WP_Query->query,WP_Query->get_posts
)
[1]=>Array
(
[0]=>SELECToption_valueFROMwp_optionsWHEREoption_name='nuodou_header_code'LIMIT1
[1]=>0.0013589859008789
[2]=>require,require_once,include,get_header,locate_template,load_template,require_once,get_option
)
……下边的工作就得自身剖析了,看一下什么是能够删掉,什么是能够改善的!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)