SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 29.11.2014 18:52:24

@rБУzzz
Участник
Зарегистрирован: 11.02.2014
Сообщений: 13

Помощь в оптимизации запроса

Добрый день. Есть запрос


SELECT SQL_CALC_FOUND_ROWS o.id AS id, o.name AS name, o.type_id AS type_id, o.is_locked AS is_locked, o.owner_id AS owner_id, o.guid AS guid, t.guid AS type_guid
FROM cms3_object_types t, cms3_objects o
LEFT JOIN cms3_object_content oc_235_lj ON oc_235_lj.obj_id = o.id
AND oc_235_lj.field_id =  '235'
LEFT JOIN cms3_object_content oc_230_lj ON oc_230_lj.obj_id = o.id
AND oc_230_lj.field_id =  '230'
WHERE o.type_id
IN ( 79 )
AND t.id = o.type_id
AND (
oc_230_lj.rel_val IS NOT NULL
)
AND (
o.name !=  'dummy'
OR o.name IS NULL
)
ORDER BY oc_235_lj.int_val DESC
LIMIT 0 , 20
 


Explain запроса:
http://i.imgur.com/DdsBszR.png

Запрос выполняется порядка 2-3 секунд. Хотелось бы что бы он делал это быстрее. Мне кажется что не хватает индексов, но каких именно не могу сообразить.

Неактивен

 

#2 29.11.2014 23:32:58

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Помощь в оптимизации запроса

SQL_CALC_FOUND_ROWS нужен? сколько выполняется без него? Если долго, то приведите структуру таблиц.

Неактивен

 

#3 01.12.2014 10:45:30

@rБУzzz
Участник
Зарегистрирован: 11.02.2014
Сообщений: 13

Re: Помощь в оптимизации запроса

Без него по времени выполняется так же как и с ним. Да, забыл уточнить, что изменить структуру таблиц или запросы нельзя. Таблицы от  cms системы (коробочная). Запросы генерируются автоматически самой системой.

Структура таблиц и индексы:

cms3_object_types
http://i.imgur.com/IM26hzG.png

cms3_objects
http://i.imgur.com/AP46mpz.png

cms3_object_content
http://i.imgur.com/4DRX4xY.png

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson