|
MySQL.RU - Webboard
Вернуться
Как оптим. справочники и время запроса (Михаил) 13/09/2003 - 21:04:52
Re: Как оптим. справочники и время запроса (walrus) 14/09/2003 - 03:57:35
Re: Как оптим. справочники и время запроса (Михаил) 14/09/2003 - 18:18:17
Re: Как оптим. справочники и время запроса (walrus) 14/09/2003 - 18:28:40
Re: Как оптим. справочники и время запроса (Валентин) 15/09/2003 - 16:14:55
Re: Как оптим. справочники и время запроса (DNick) 18/09/2003 - 16:35:55
From: Михаил - 13/09/2003 - 21:04:52
Subject:Как оптим. справочники и время запроса
-----------------
Задача: Есть главная таблица (MainTable) и порядка 15 справочных таблиц (Guide№).
Структура любой справочной таблицы: (id,name)
Структура главной таблицы: (id,id_Справочник1, ... , id_Справочник15). Требуется вывести главную таблицу на экран, заменяя все индексы на значения из справочников.
Проблема: если использовать iner join, то получается такой запрос:
select MainTable.id, Guide1.name, ... ,Guide15.name from (...(MainTable inner join Guide1 on MainTable.id_Guide1=Guide1.id )... inner join Guide15 on MainTable.id_Guide15=Guide15.id )
Этот запрос выполняется 20 секунд и выводит 4 строчки главной таблицы(кол-во строчек правильно).
Попытался по другому:
select MainTable.id, Guide1.name, ... ,Guide15.name from MainTable, Guide1, ... ,Guide15 where (MainTable.id_Guide1=Guide1.id) and ... (MainTable.id_Guide15=Guide15.id)
Этот запрос работает также секунд 20 выводит 8 строчек вместо 4 (каждую по 2-а раза)...
Попытка заменить 15 справочников одним (структура то одинаковая) тоже ни к чему хорошему не привела...
Подскажите пожалуйста как оптимизировать справочники и время выполнения запроса. Если можно продублируйте ответ на мыло evseev@univ.kiev.ua
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
10747
|
|