Как отобразить все запросы к базе данных, сделанные Wordpress? - PullRequest
13 голосов
/ 18 марта 2010

Используя метод, аналогичный описанному здесь , я могу видеть общее количество запросов, выполняемых в Wordpress при загрузке страницы.

Теперь я хотел бы отобразить все запросы к базе данных, которые выполняются при загрузке страницы.Это позволило бы мне увидеть, кто мои самые большие источники ресурсов, без необходимости проходить через процесс удаления всех моих плагинов и тем сценариев.

Как лучше всего отобразить все запросы к базе данных, сделанные Wordpress?

Ответы [ 3 ]

41 голосов
/ 19 марта 2010

Если вы добавите define('SAVEQUERIES', true) в свой файл конфигурации, вы можете затем перечислить все запросы, сделанные для текущей страницы, добавив в вашу тему следующее.

<code>if (current_user_can('administrator')){
    global $wpdb;
    echo "<pre>";
    print_r($wpdb->queries);
    echo "
"; }

Подробнее см. В документации: http://codex.wordpress.org/Editing_wp-config.php#Save_queries_for_analysis

5 голосов
/ 19 марта 2010

или вы можете подключиться к posts_request. Вы можете поместить коэффициент внутри functions.php, например

add_filter('posts_request','debug_post_request'); // debugging sql query of a post

function debug_post_request($sql_text) {

   $GLOBALS['debugku'] = $sql_text; //intercept and store the sql<br/>
   return $sql_text; 

}

в нижнем колонтитуле темы вы можете использовать print_r как

print_r($GLOBALS['debugku']);
1 голос
/ 02 августа 2018

Использование Query Monitor .

Это бесплатный плагин с открытым исходным кодом, где вы можете фильтровать свои запросы в различных контекстах, таких как:

  • Какой плагин называется
  • Запросы, которые заняли больше всего времени
  • Дублированные запросы
  • Вы можете отфильтровать, выбрав / обновить / вставить / удалить

Среди прочего ...

how to see what queries wordpress is running

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...