|
MySQL.RU - Webboard
Вернуться
оптимизация запроса (kookaah) 08/09/2003 - 22:01:41
Re: оптимизация запроса (Валентин) 09/09/2003 - 13:50:34
> Original message text:
> From: kookaah - 08/09/2003 - 22:01:41
> Subject:оптимизация запроса
> -----------------
> Суть проблемы ( вкратце, на примере):
> есть таблица A с 10тью полями. Из них в 5ти полях хранятся значения индексов для других ( B,C,D,E,F) таблиц.
> Одна из этих 5ти таблиц зависима еще от двуз таблиц (F2,F3)
> Мне нужен запрос для вывода таблицы A ( по некоторым условиям ), так чтобы вместо айдишников выдавались значения соответсвующих полей соответсвующих таблиц. Фух!
>
> Написал запрос без JOINов. Explain для таблиц C,D,E,F,F2,F3 выдает, что все ок - используются PRIMARY ключи, а вот с одной B - почему-то нет. Хотя она точь-точь такая же как и остальные. Я уж ее и так и эдак уговаривал и просил вручную, чтобы ключ использовала... Пел, бил в бубен, плясал вокруг костра - ничего не помогает. Подскажите, плиз, запрос, как увязать все эти таблицы joinaми.
>
>
From: Валентин - 09/09/2003 - 13:50:34
Subject:оптимизация запроса
-----------------
Если мускул считает, что быстрее по таблице B будет без индексов, то значит будет действительно быстрее.
Если сильно хочется заставить использовать индекс используйте force index (IndexName).
1)Если речь идет о товарном движении, то попробуйте последовательно переработать данные используя временные таблицы (TEMPORARY).
2)Используйте для всех таблиц left join, потому что у вас по условию нужно получить связку основываясь на таблице А, а для мускула left join достаточно легко в таком запросе, он его сможет сделать на первом проходе.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
10566
|
|