SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 08.02.2011 19:42:57

Pasha
Участник
Зарегистрирован: 10.11.2009
Сообщений: 11

Оптимизация SELECT'а

Есть много таблиц
Таблица_1
Таблица_2
Таблица_3
...
Таблица_N

Есть запрос

SELECT
    Таблица_1.a,
    Таблица_2.b,
    Таблица_3.c,
    ....
    Таблица_N.z
FROM
    Таблица_1,
    Таблица_2,
    Таблица_3,
    ....
    Таблица_N
WHERE
    Таблица_1.a = Таблица_2.id AND
    Таблица_1.b = Таблица_3.id AND
    ...
    Таблица_1.z = Таблица_N.id
ORDER BY ....
LIMIT ...

т.е. Таблица_1 по сути это набор ID'шников из других таблиц. Запрос с ростом числа записей стал занимать довольно много времени, до 20 сек. причем если ограничить запрос по WHERE, а не по LIMIT производительность ускоряется до 0,0...сек.

Как лучше произвести оптимизацию?

p.s.: Наверно тема уже была, тогда просто дайте ссылку. Всем зарание спасибо!

Неактивен

 

#2 09.02.2011 02:12:43

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Оптимизация SELECT'а

А индекс то есть по тому, что в ORDER BY?

Неактивен

 

#3 09.02.2011 12:58:47

Pasha
Участник
Зарегистрирован: 10.11.2009
Сообщений: 11

Re: Оптимизация SELECT'а

paulus написал:

А индекс то есть по тому, что в ORDER BY?

Не понял Ваш вопрос.

Неактивен

 

#4 09.02.2011 14:00:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Оптимизация SELECT'а

У Вас написано ORDER BY четвероточие. В четвероточии есть какие-то поля
каких-то таблиц. По ним есть индексы?

Неактивен

 

#5 10.02.2011 11:59:49

Pasha
Участник
Зарегистрирован: 10.11.2009
Сообщений: 11

Re: Оптимизация SELECT'а

да.

SELECT
    DATE_FORMAT(Таблица_1.Дата, '%d.%m.%Y') AS Date,
.................................................
    ORDER BY Таблица_1.Дата

Неактивен

 

#6 10.02.2011 23:25:22

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Оптимизация SELECT'а

Вот. Ключик есть по дате первой таблицы?

Неактивен

 

Board footer

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