Helpex - Trao đổi & giúp đỡ Đăng nhập

Làm thế nào để hiển thị tất cả các truy vấn cơ sở dữ liệu được thực hiện bởi Wordpress?

Hồ Huy Phong
· 20:17 18/03/2010
20:12:51 11/06/2021

Sử dụng phương pháp tương tự như phương pháp được mô tả ở đây , tôi có thể xem tổng số truy vấn được thực hiện trong Wordpress khi tải một trang.

Bây giờ tôi muốn hiển thị tất cả các truy vấn cơ sở dữ liệu đang được thực hiện khi tải trang. Điều này sẽ cho phép tôi xem ai là nguồn tài nguyên lớn nhất của tôi mà không cần phải trải qua quá trình loại bỏ tất cả các plugin và tập lệnh chủ đề của tôi.

Cách tốt nhất để hiển thị tất cả các truy vấn cơ sở dữ liệu được thực hiện bởi Wordpress là gì?

17 hữu ích 0 bình luận 26k xem chia sẻ
Vũ Quang Thắng
· 00:39 19/03/2010
00:39:10 19/03/2010

Nếu bạn thêm define('SAVEQUERIES', true)vào tệp cấu hình của mình, thì bạn có thể liệt kê tất cả các truy vấn được thực hiện cho trang hiện tại bằng cách thêm phần sau vào chủ đề của bạn.

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

Xem tài liệu để biết thêm chi tiết: http://codex.wordpress.org/E Edit_wp-config.php#Save_queries_for_analysis

48 hữu ích 4 bình luận chia sẻ
Võ Thanh Nhàn
· 00:59 19/03/2010
00:59:56 19/03/2010

hoặc bạn có thể kết nối với posts_request. Bạn có thể đặt các hệ số bên trong functions.php chẳng hạn như

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; 

}

trong chân trang chủ đề của bạn, bạn có thể sử dụng print_r như

print_r($GLOBALS['debugku']);
6 hữu ích 2 bình luận chia sẻ
Ngô Minh Hằng
· 20:42 02/08/2018
20:42:44 02/08/2018

Sử dụng màn hình truy vấn .

Đó là một plugin mã nguồn mở và miễn phí, nơi bạn có thể lọc các truy vấn của mình trong các ngữ cảnh khác nhau, chẳng hạn như:

  • Plugin nào được gọi là
  • Các truy vấn mất nhiều thời gian nhất
  • Truy vấn trùng lặp
  • Bạn có thể lọc theo Chọn / Cập nhật / Chèn / Xóa

Trong số những thứ khác...

Làm thế nào để hiển thị tất cả các truy vấn cơ sở dữ liệu được thực hiện bởi Wordpress?

3 hữu ích 1 bình luận chia sẻ
Trịnh An Bình
· 21:25 20/05/2020
21:25:03 20/05/2020

Tôi muốn thêm ở cuối trang, các truy vấn / thời gian đã trôi qua, đây là mã:

/**
 * show all sql at footer if it defined in wp-config.php:
 * define('SAVEQUERIES', true);
 */
function plg_name_show_debug_queries()
{
    if (defined('SAVEQUERIES') && SAVEQUERIES) {
        global $wpdb;
        if (is_array($wpdb->queries)) foreach ($wpdb->queries as $key => $q) {
            list($query, $elapsed, $debug) = $q;
            $time = number_format(($elapsed * 1000), 3);
            $count = $key + 1;
            $total_time += $elapsed;
            echo "
            <div style=\"position: relative; z-index: 9999    ; background: black; color: white; padding:10px\">
                $count - Query: $query <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Time: $time ms
            </div>";
        }
        echo "
        <div style=\"position: relative; z-index: 9999    ; background: black; color: white; padding:10px\">
            Total Queries: " . count($wpdb->queries) . "<br>Total Time: " . number_format(($total_time * 1000), 3) . " ms
        </div>";
    }
}
add_action('admin_footer', 'plg_name_show_debug_queries', PHP_INT_MAX);
add_action('wp_footer', 'plg_name_show_debug_queries', PHP_INT_MAX);
1 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ database wordpress , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm