Я собрал это меню в архиве, но это заставит страницу загружаться сверх медленно.Меню архива Wordpress, вызывающее медленное время загрузки
Я думаю, что преступник:
PHP
$years = $wpdb->get_col(
"SELECT DISTINCT YEAR(post_date)
FROM $wpdb->posts
WHERE post_status = 'publish'
AND post_type = 'post'
ORDER BY post_date
DESC");
$months = $wpdb->get_col(
"SELECT DISTINCT MONTH(post_date)
FROM $wpdb->posts
WHERE post_status = 'publish'
AND post_type = 'post'
AND YEAR(post_date) = '".$year."' ORDER BY post_date DESC");
Я использую эти данные, чтобы повторить список дат и почтовых подсчетов, там что-то не так с этим методом, что приводит к его быть медленным и есть лучший метод?
Цель этой функции - показать мне год и месяц, когда была почта, поэтому моя небольшая боковая панель архива.
С целью сделать что-то вроде:
foreach($years as $year){
//..do something
foreach($months as $month) {
//... do something
}
}
У меня есть 1507 сообщения на данный момент, и это занимает хорошие ~ 15s, чтобы загрузить страницу архива. Опять же, что-то не так с тем, как я это делаю?
Сколько времени требуется для запуска этих запросов непосредственно в базе данных? Используются ли поля, которые вы используете, индексированными? – andrewsi
@andrewsi Знание моей базы данных равно нулю, как проверить время запроса dabase и проиндексированы ли они? – UzumakiDev