Форум: "Начинающим";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
ВнизСтранно работает запрос. Найти похожие ветки
← →
Семен Кевларвестов (2008-11-26 18:36) [0]Доброго вечера!
В TQuery есть запрос вида:
select T1.Table1ID,
T2.Table2ID,
T3.Table3ID
from table1 T1 (nolock)
left join table2 T2 (nolock) on T2.Table2ID = T1.Table2ID
left join table3 T3 (nolock) on T3.Table3ID = T2.Table3ID
where T2.Table2ID = @SomeParam1 and
T3.Table3ID = @SomeParam2
и в таком виде это работает очень медленно,
но если сделать так:
select T1.Table1ID,
T2.Table2ID,
T3.Table3ID
from table1 T1 (nolock)
left join table2 T2 (nolock) on T2.Table2ID = T1.Table2ID
left join table3 T3 (nolock) on T3.Table3ID = T2.Table3ID
where T1.Table2ID = @SomeParam1
T3.Table3ID = @SomeParam2
то все начинает работать очень быстро.
В QueryAnalyzer все работает одинаково, по крайней мере я разницы не заметил. Почему так?
← →
clickmaker © (2008-11-26 18:42) [1]потому что во втором случае сначала отбираются записи в Т1, а потом уже накладывается джоин
в QueryAnalyzer, возможно, хороший парсер запросов, он приводит первый вариант к более оптимальному
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.01.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c