1. Sử dụng biến toàn cục $wpdb để đếm query
Biến $wpdb là đối tượng cơ sở dữ liệu mặc định trong WordPress. Nó có thuộc tính num_queries rất tiện dụng.
add_action('wp_footer', function () {
global $wpdb;
echo '<div style="text-align:center;padding:20px;color:#888;font-size:13px">';
echo 'Số truy vấn SQL: ' . $wpdb->num_queries;
echo ' | Thời gian tải trang: ' . timer_stop() . ' giây';
echo '</div>';
});
Đoạn code trên sẽ hiển thị số truy vấn SQL và thời gian tải trang ở cuối mỗi trang (ngay trước thẻ </body>).
2. Kiểm tra trong môi trường admin
Bạn cũng có thể kiểm tra số truy vấn SQL trong khu vực quản trị bằng cách chèn tương tự vào footer của admin.
add_action('admin_footer', function () {
global $wpdb;
echo '<div style="padding:10px;color:#999;font-size:12px">';
echo 'Admin - Số truy vấn SQL: ' . $wpdb->num_queries;
echo ' | Thời gian tải: ' . timer_stop() . ' giây';
echo '</div>';
});
3. Kết hợp với điều kiện DEBUG
if (defined('WP_DEBUG') && WP_DEBUG) {
add_action('wp_footer', function () {
global $wpdb;
echo '<div style="text-align:center;padding:20px;color:#888;font-size:13px">';
echo 'SQL: ' . $wpdb->num_queries . ' | Time: ' . timer_stop() . 's';
echo '</div>';
});
}
Điều này đảm bảo đoạn mã chỉ chạy khi bạn bật chế độ debug.
Kết luận
Việc biết mỗi trang WordPress đang thực hiện bao nhiêu truy vấn SQL là bước quan trọng để tối ưu website. Kết hợp với các kỹ thuật giảm truy vấn, bạn sẽ cải thiện hiệu suất đáng kể mà không cần cài thêm plugin bên ngoài.
Bình luận