On Tue, 20 Nov 2007 11:30:25 +0300, Karabas Barabas
<mike-J4Q8XBNcgOgedp2WBT/[EMAIL PROTECTED]> wrote:
> W> Теперь я не только уверен, что гуру M$ нельзя переучить на
> W> FB (это и раньше подозревал), но даже вижу причины этого.
>
> Огласи весь список - просто интересно :) Можно в пятницу :)
Весь список - бесполезно. Забанят за такое количество слов :)
Вот из последнего:
select *
from (select distinct id, date from table1) p
join table2 t on t.id = p.id
/* where p.id+0 = t.id and p.date+0 = p.date */
Добавление закомментированного "бесполезного" условия ускоряет запрос в два
раза!
В моём случае, когда это был один из подзапросов, весь запрос ускорился в 240
раз.
Практически в любой, даже самой простой группировке, где группировка
осуществляется по индексированным полям, типа
select date, count(1)
from table1
group by date
добавление "having date = date" ускоряет выполнение на 10%
Если же группировка более сложная, то запрос может ускоряться в разы!
В общем, я тихо охреневаю с M$.
ЗЫ: Где-то в форуме обещают консультацию от тамошних "гуру", как работают такие
трюки (объяснение), но я до туда ещё не дорешал. Так что пока делаю так -
добавляю самые дебильные с моей точки зрения условия, какие только могу
придумать - и производительность как правило улучшается. Уже несколько раз
занимал верхние места в рейтинге по задаче :)
--
Сергей Смирнов.