Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизировать запрос / 6 сообщений из 6, страница 1 из 1
23.12.2013, 22:04:06
    #38510488
zizi_top
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос
в файле медленных запросов mysql-slow.log есть такой запрос

автор# Query_time: 6.718566 Lock_time: 0.000088 Rows_sent: 10 Rows_examined: 7416
SET timestamp=1387820973;
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish') ORDER BY wp_posts.post_date DESC LIMIT 60, 10;





explain


как ускорить?
...
Рейтинг: 0 / 0
23.12.2013, 23:41:45
    #38510552
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос
> как ускорить?

Поробуйте

1. сделать хинт НЕ использовать этот индекс.
2. убрать SQL_CALC_FOUND_ROWS

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT 
   SQL_CALC_FOUND_ROWS 
  wp_posts.ID 
FROM wp_posts IGNORE INDEX (type_status_date) 
WHERE 
  1=1 
AND wp_posts.post_type = 'post' 
AND (wp_posts.post_status = 'publish') 
ORDER BY wp_posts.post_date DESC 
LIMIT 60, 10;



Воообше 6 секунд на 8К записей это что-то конкретно не то.
как тут уже предлагали -- возможно сервер прозон занят
другими вещами и на мыскл совем сил не осталось.
...
Рейтинг: 0 / 0
24.12.2013, 10:48:49
    #38510794
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос
javajdbc1. сделать хинт НЕ использовать этот индекс.
2. убрать SQL_CALC_FOUND_ROWSЛучше второе, чем первое. Если бы не SQL_CALC_FOUND_ROWS, то индекс - практически идеален для этого запроса.

Еще хорошо бы поля post_type и post_status минимизировать по размеру до, например, одного байта, чтобы не хранить там тысячи одинаковых строк. Тогда и чтение индекса (если его смыло из кэша), и его перебор будет происходить быстрее.
...
Рейтинг: 0 / 0
24.12.2013, 10:52:57
    #38510799
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос
miksoftхорошо бы поля post_type и post_status минимизировать по размеру до, например, одного байта, чтобы не хранить там тысячи одинаковых строк. Конвертировать в ENUM.
...
Рейтинг: 0 / 0
24.12.2013, 10:55:24
    #38510803
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос
Akinamiksoftхорошо бы поля post_type и post_status минимизировать по размеру до, например, одного байта, чтобы не хранить там тысячи одинаковых строк. Конвертировать в ENUM.Технически можно и в ENUM, но я их не люблю :)
...
Рейтинг: 0 / 0
24.12.2013, 10:58:47
    #38510810
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизировать запрос
Та же фигня... но для случая компактного неизменяемого очевидного словаря ENUM подходит как нельзя лучше. Более удачное, чем внешний словарь, решение, и уж тем более чем такое как у ТС ненормализованное решение.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / оптимизировать запрос / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]