SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 02.02.2012 09:52:45

stasuss
Участник
Зарегистрирован: 30.11.2011
Сообщений: 10

оптимизация выборки из нескольких таблиц и представлений

доброго времени суток.

помогите с оптимизацией запроса


SELECT * FROM main_view WHERE owner_id IN (SELECT owner_id FROM t_addr WHERE (obj_city='Калуга');
 


main_view - представление на основе join трех таблиц.
t_addr - таблица с индексом по obj_city длинной 4 символа. и owner_id уникальный первичный ключ.

дело в том что в таблицах около миллиона записей и запрос выполняется крайне долго. объединить в одно представление нет возможности к сожалению.

есть мысли по удлинению индекса. но название города может быть как длинным так и коротким. 4 символа - минимальная длинна.

посоветуйте что нибудь.. или в данном случае уже ничего не сделать?

спасибо

Неактивен

 

#2 02.02.2012 10:22:15

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

Re: оптимизация выборки из нескольких таблиц и представлений

SELECT m.* FROM main_view m join t_addr t on m.owner_id=t.owner_id WHERE t.obj_city='Калуга';

Неактивен

 

#3 02.02.2012 10:54:55

stasuss
Участник
Зарегистрирован: 30.11.2011
Сообщений: 10

Re: оптимизация выборки из нескольких таблиц и представлений

спасибо)))) в 4 раза быстрее)))

Неактивен

 

#4 02.02.2012 11:09:26

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

Re: оптимизация выборки из нескольких таблиц и представлений

К вопросу почему так, см http://sqlinfo.ru/forum/viewtopic.php?id=4406

Неактивен

 

Board footer

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