Cześć, mam dość dziwny problem. Napisałem sobie zapytanie. Zwykły select, 3 joinowane tabele(left join):
select [kolumny]
from tabela
left join tab1 on tab1.OID = tabela.OID
left join tab2 on tab2.ID = tab1.t2ID
left join tab3 on tab3.CID = tab1.ID and tab3.EID = tabela.ID
i teraz tak, zapytanie trwa 5 sekund. Zwraca około 90 tys. rekordów.
Ale, jeśli dołożę mu WHERE:
WHERE tabela.deleted = 0 --to trwa tyle samo
WHERE tabela.deleted = 0 and tabela.pole>1 -- tu już strasznie wydłuża.
Zmiana waruków miejscami nic nie daje. Więcej jest rekordów, co mają pole>1 niż deleted = 0.
Spotkaliście się kiedyś z analogiczną sytuacją, że WHERE powoduje dłuższe wykonanie zapytania?