輸出WordPress數(shù)據(jù)庫(kù)查詢的具體內(nèi)容 減少數(shù)據(jù)庫(kù)查詢次數(shù)
發(fā)布時(shí)間:2011-11-15 16:40:51 作者:佚名
我要評(píng)論

最近做一個(gè)wordpress的企業(yè)模板,關(guān)注了一下查詢次數(shù)這個(gè)東西!結(jié)果顯示首頁(yè)查詢30次,日志頁(yè)查詢達(dá)45次。。。真是郁悶,為了查看具體查詢了數(shù)據(jù)庫(kù)哪些內(nèi)容,Google了一下,得到如下解決方法,這里總結(jié)出來(lái)
最近做一個(gè)wordpress的企業(yè)模板,關(guān)注了一下查詢次數(shù)這個(gè)東西!
在 footer.php 里添加了如下代碼,以顯示wordpress查詢數(shù)據(jù)庫(kù)次數(shù)及查詢耗時(shí):
<?php echo get_num_queries() . ' queries in ' . timer_stop(0) . ' seconds.'; ?>
結(jié)果顯示首頁(yè)查詢30次,日志頁(yè)查詢達(dá)45次。。。真是郁悶,為了查看具體查詢了數(shù)據(jù)庫(kù)哪些內(nèi)容,Google了一下,得到如下解決方法,這里總結(jié)出來(lái):
首先在 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()) 用于判斷當(dāng)前訪客是否已登錄,也可以用 if (current_user_can('level_10')) 來(lái)判斷是否為管理員登錄,目的是為了不讓游客查看到這些數(shù)據(jù),此代碼可??;
2、global $wpdb; 定義全局變量$wpdb,這是Wordpress默認(rèn)的數(shù)據(jù)庫(kù)類;
3、<pre></pre>將結(jié)果嵌套在HTML標(biāo)簽<pre>內(nèi);
4、print_r($wpdb->queries); 輸出各次數(shù)據(jù)庫(kù)查詢的信息。
刷新首頁(yè)或日志頁(yè),可看到類似如下的輸出結(jié)果:
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
)
……下面的活兒就得自己分析了,看看哪些是可以刪除,哪些是可以改進(jìn)的!
在 footer.php 里添加了如下代碼,以顯示wordpress查詢數(shù)據(jù)庫(kù)次數(shù)及查詢耗時(shí):
<?php echo get_num_queries() . ' queries in ' . timer_stop(0) . ' seconds.'; ?>
結(jié)果顯示首頁(yè)查詢30次,日志頁(yè)查詢達(dá)45次。。。真是郁悶,為了查看具體查詢了數(shù)據(jù)庫(kù)哪些內(nèi)容,Google了一下,得到如下解決方法,這里總結(jié)出來(lái):
首先在 wp-config.php 里添加如下代碼:
define('SAVEQUERIES', true);
然后在 footer.php 里添加如下代碼:
復(fù)制代碼
代碼如下:<?php if (is_user_logged_in()){
global $wpdb;
echo "<pre>";
print_r($wpdb->queries);
echo "</pre>";
} ?>分析:
1、if (is_user_logged_in()) 用于判斷當(dāng)前訪客是否已登錄,也可以用 if (current_user_can('level_10')) 來(lái)判斷是否為管理員登錄,目的是為了不讓游客查看到這些數(shù)據(jù),此代碼可??;
2、global $wpdb; 定義全局變量$wpdb,這是Wordpress默認(rèn)的數(shù)據(jù)庫(kù)類;
3、<pre></pre>將結(jié)果嵌套在HTML標(biāo)簽<pre>內(nèi);
4、print_r($wpdb->queries); 輸出各次數(shù)據(jù)庫(kù)查詢的信息。
刷新首頁(yè)或日志頁(yè),可看到類似如下的輸出結(jié)果:
復(fù)制代碼
代碼如下: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
)
……下面的活兒就得自己分析了,看看哪些是可以刪除,哪些是可以改進(jìn)的!
相關(guān)文章
CyberPanel安裝WordPress并配置偽靜態(tài)規(guī)則
下面教你如何在 CyberPanel安裝WordPress以及配置偽靜態(tài),需要的朋友可以參考下2023-12-27- 這篇文章主要介紹了wordpress無(wú)法安裝更新主題插件的解決辦法,需要的朋友可以參考下2020-12-27
WordPress必備數(shù)據(jù)庫(kù)SQL查詢語(yǔ)句整理
發(fā)現(xiàn)幾條比較實(shí)用的,適合 WordPress 實(shí)用的SQL語(yǔ)句。于是就趕緊收集分享出來(lái)了,需要的朋友可以參考下2017-09-23wordpress在安裝使用中出現(xiàn)404、403、500及502問(wèn)題的分析與解決方法
wordpress是很多新手站長(zhǎng)搭建個(gè)人博客最喜愛(ài)的程序,但是最近在使用WordPress的時(shí)候遇到了一些問(wèn)題,所以想著將遇到問(wèn)題總結(jié)分享出來(lái),下面這篇文章主要給大家介紹了關(guān)于wo2017-08-11WordPress取消英文標(biāo)點(diǎn)符號(hào)自動(dòng)替換中文標(biāo)點(diǎn)符號(hào)的優(yōu)雅方法
這篇文章主要介紹了WordPress取消英文標(biāo)點(diǎn)符號(hào)自動(dòng)替換中文標(biāo)點(diǎn)符號(hào)的優(yōu)雅方法,需要的朋友可以參考下2017-04-04- 這篇文章主要給大家介紹了wordpress自定義上傳文件類型的方法,如WordPress默認(rèn)允許上傳 .exe 后綴名的可運(yùn)行文件,那么我們?cè)趺唇褂脩粼赪ordPress后臺(tái)發(fā)表文章時(shí)上傳 .e2016-12-19
- 大家可能發(fā)現(xiàn)了當(dāng)實(shí)現(xiàn)了前端用戶中心,后臺(tái)控制面板就失去了作用,那么限制其他用戶進(jìn)入后臺(tái)控制面板就很有必要了!那么我們要怎么做呢?通過(guò)下面這篇文章分享的方法后,只2016-12-19
WordPress實(shí)現(xiàn)回復(fù)文章評(píng)論后發(fā)送郵件通知的功能
這篇文章主要介紹了WordPress實(shí)現(xiàn)回復(fù)文章評(píng)論后發(fā)送郵件通知的功能,涉及wordpress針對(duì)評(píng)論與郵件的相關(guān)操作技巧,需要的朋友可以參考下2016-10-11WordPress使用自定義文章類型實(shí)現(xiàn)任意模板的方法
這篇文章主要介紹了WordPress使用自定義文章類型實(shí)現(xiàn)任意模板的方法,可通過(guò)自定義文章類型來(lái)實(shí)現(xiàn)任意模版的使用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-10-11WordPress后臺(tái)地址被改導(dǎo)致無(wú)法登陸后臺(tái)的簡(jiǎn)單解決方法
這篇文章主要介紹了WordPress后臺(tái)地址被改導(dǎo)致無(wú)法登陸后臺(tái)的簡(jiǎn)單解決方法,簡(jiǎn)單分析了后臺(tái)無(wú)法登陸的原因與相應(yīng)的解決方法,涉及針對(duì)wordpress配置項(xiàng)的簡(jiǎn)單修改,需要的朋友2016-10-11