【发布时间】:2016-03-13 18:57:58
【问题描述】:
我正在构建一个 WordPress 主题并试图确定是什么导致它运行如此缓慢。 Myfunctions.php 大约 500 行,并具有与数据库交互的功能,例如
add_action( 'wp_ajax_nopriv_get_N_more', 'get_N_more' );
add_action( 'wp_ajax_get_N_more', 'get_N_more' );
$N = 9;
function get_N_more ( )
{
global $wpdb, $N;
$thisTable = ($_POST['workType'] === 'projs') ? 'wp_nas_projs' : 'wp_nas_cases';
$q = $wpdb->prepare( "SELECT id,compname,descsmall,sumsmall,imageurl FROM $thisTable ORDER BY postdate DESC LIMIT %d, %d", intval($_POST['numItemsLoaded']), $N);
$nextNRows = $wpdb->get_results($q);
removeEscapes($nextNRows);
$stillSomeLeft = ($_POST['numItemsLoaded'] + $N) < count($wpdb->get_results($wpdb->prepare("SELECT * FROM $thisTable")));
// ^ would like more efficient way of doing above
die(json_encode(array('stillSomeLeft' => $stillSomeLeft, 'workItems' => $nextNRows)));
}
此类函数不会在每次读取脚本时调用,但是我想知道如果 PHP 每次都读取它们,是否首先将它们放在那里可能会导致性能下降。
【问题讨论】:
-
没试过wordpress,但是通常为了执行一个函数,需要调用函数
-
下载并安装 Query Monitor 插件,然后查看哪些查询会降低网站速度。非常有用的插件,用于调试与慢速网站和查询相关的问题
-
您在这方面取得了进展吗?