[MSSQL] Czy to możliwe, żeby left join zajmował 25 sekund?

0

Cześć, mam takie zapytanie:

select fi.employeeID, fi.pole1, fi.pole2, 
  ed.pole3, lo.pole4
from firstIns fi
left join endDates ed on ed.fiID = fi.ID
left join lastOuts lo on lo.fiID = fi.ID

I to trwa moment. Mniej niż sekunda. Chciałem dołożyć jeszcze jedną kolumnę z innej tabeli:

select fi.employeeID, fi.pole1, fi.pole2, 
  ed.pole3, lo.pole4, em.pole5
from firstIns fi
left join endDates ed on ed.fiID = fi.ID
left join lastOuts lo on lo.fiID = fi.ID
left join employees em on em.ID = fi.employeeID

I to już trwa 25 sekund(!!!). Czy to możliwe, czy mam coś skopsane z serwerem?
W tabeli employees mam 31 rekordów, w tabeli firstIns jest tych rekordów niecałe 3000

Chcę po prostu coś bardziej zoptymalizować, a tu taki zonk :|

0

Ewidentnie zapytanie po dołożeniu joina przestało korzystać z indeksów aby mieć 100% pewności obejrzyj execution plan.

0
AdamPL napisał(a)

Ewidentnie zapytanie po dołożeniu joina przestało korzystać z indeksów aby mieć 100% pewności obejrzyj execution plan.

Wstyd, ale tak średnio potrafię je czytać. Natomiast oba plany są podobne.
Co dziwne, za którymś razem(4tym, 5tym), czas wykonania tego drugiego zapytania też spadł do zera. Co to za akcja, że przestało korzystać z indeksów? Można się jakoś przed tym zabezpieczyć?

0

Spróbuj je odbudować, jeżeli pomoże to zrób sobie joba, który będzie je odbudowywał gdy poziom fragmentacji będzie zbyt duży.

/edit: jak nie jesteś pewien co planów to zrób screeny i podaj na forum.

0
AdamPL napisał(a)

Spróbuj je odbudować, jeżeli pomoże to zrób sobie joba, który będzie je odbudowywał gdy poziom fragmentacji będzie zbyt duży.

eee, możesz zarzucić jakimś linkiem o co chodzi? ;)

0

Link do bloga gdzie jest co nieco na ten temat, m.in. procedura do odbudowy:
http://strefa.guzowski.info/archives/41,2007,02,10.html
http://strefa.guzowski.info/archives/43,2007,02,13.html

/edit: a stopień defragmentacji możesz sprawdzić np. w ten sposób: DBCC SHOWCONTIG tabela
Poza tym polecam nauczyć się czytać plany to bardzo ułatwia podjęcie decyzji o tym co optymalizować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0