Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.27;
Скачать: CL | DM;

Вниз

200 как отключить авто оптимизацию запроса?   Найти похожие ветки 

 
Vadim S   (2003-10-07 12:40) [0]

Есть запрос

SELECT SKLAD2.KOD, KOLVO.ID_RAZMER, KOLVO.ID_ROST, SKLADS.ID_SKLAD, COUNT(*) AS Expr1
FROM KOLVO,SKLADS,SKLAD2
WHERE KOLVO.ID_TOVAR = SKLAD2.ID_TOVAR AND KOLVO.ID_SKLAD = SKLADS.ID_SKLAD AND (SKLAD2.KOD LIKE "XCOD")
GROUP BY SKLAD2.KOD, KOLVO.ID_RAZMER, KOLVO.ID_ROST, SKLADS.ID_SKLAD
ORDER BY SKLAD2.KOD, KOLVO.ID_RAZMER, KOLVO.ID_ROST, SKLADS.ID_SKLAD


SQL2000 преобразует его к

SELECT SKLAD2.KOD, KOLVO.ID_RAZMER, KOLVO.ID_ROST, SKLADS.ID_SKLAD, COUNT(*) AS Expr1
FROM KOLVO
INNER JOIN SKLADS ON KOLVO.ID_SKLAD = SKLADS.ID_SKLAD
INNER JOIN SKLAD2 ON KOLVO.ID_TOVAR = SKLAD2.ID_TOVAR
WHERE (SKLAD2.KOD LIKE "XKOD")
GROUP BY SKLAD2.KOD, KOLVO.ID_RAZMER, KOLVO.ID_ROST, SKLADS.ID_SKLAD
ORDER BY SKLAD2.KOD, KOLVO.ID_RAZMER, KOLVO.ID_ROST, SKLADS.ID_SKLAD


Как отключить автооптимизацию, чтобы запросы выполнялись "как есть"?

А что FROM выполняется медленней INNER JOIN ???


 
Sedunov Vitaly   (2003-10-07 13:16) [1]

Можно запускать через exec(<строка запроса>) и тогда, на мой взгляд, оптимизации не будет.


 
Vadim S   (2003-10-07 13:21) [2]

Как только на "!"
нажимаю или на "V" (check)
Сразу идет оптимизация.

PS Все это яделаю в EM.


 
stone ©   (2003-10-07 13:30) [3]

А ты делай в Query Analyzer

Хотя он же не зря оптимизирует, JOIN правильнее будет в отношении рационального использования индексов


 
Fiend ©   (2003-10-07 13:39) [4]

оптимизацию делают не QA и EM, ее выполняет сервер. если будете выполнять динамический запрос, тоже будет оптимизация.

Совет: не надо отказываться от оптимизации сервером, ибо он достаточно "умный" чтобы сделать ее правильно! Не надейтесь его обыграть на этом поле.


 
Vadim S   (2003-10-07 13:49) [5]

Правильный ответ был

SET FORCEPLAN OFF (уже подсказали)

Всем спасибо.


 
ZrenBy ©   (2003-10-07 13:49) [6]

>>INNER JOIN SKLADS ON KOLVO.ID_SKLAD = SKLADS.ID_SKLAD
>>INNER JOIN SKLAD2 ON KOLVO.ID_TOVAR = SKLAD2.ID_TOVAR
>>WHERE (SKLAD2.KOD LIKE "XKOD")

Здесь нет абсолютно никакой оптимизации.
Просто все приведено к грамотному стилю.
Горяздо прозрачней, когда в секции join - критерии связи,
а в секции where - критерии отбора.



Страницы: 1 вся ветка

Текущий архив: 2003.10.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
14-89533
Сатир
2003-10-08 15:36
2003.10.27
Угнали джип


4-89640
WELLiON
2003-08-21 09:25
2003.10.27
Как минимизировать активное приложение?


1-89219
Петрович
2003-10-15 12:25
2003.10.27
Как создаетя пауза, например между выполнением операторов


1-89258
Duce
2003-10-14 18:15
2003.10.27
метод protected в наследнике определить как public?


9-89088
Хранитель_7К
2003-04-22 09:15
2003.10.27
OpenGL: Triangles=>Triangle_Strip