Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 1.762 pregleda

Najnovija ↓

problem sa not in upitom 09.11.2012. u 08:29 · pre 170 meseci #1
situacija je sledeca, u jednoj tabeli imam 100k redova od kojih 50k ima parametar popust=1. u drugoj tabeli imam samo redove koji imaju popust=1 i njih je 49k, ostatak od 1k nije obradjen jos uvek. meni treba upit koji brzo izvuce sve redove prve tabele koji imaju parametar popust=1 a kojih nema u drugoj tabeli.

znam za NOT IN, upit bi bio sledeci : select popust form table1 where table1.popust NOT IN (select table2.popust form table2)
medjutim to radi jako sporo (5-10 min) iako je u table2 popust PK a i u drugoj postoji kao index. video sam na netu da ima IS NULL opcija ali ni ona mi ne izvlaci mnogo brze upit iako za nju kazu da je brza.

koja je vasa preporuka sta dalje da probam? hvala unapred!
Re: problem sa not in upitom 09.11.2012. u 09:09 · pre 170 meseci #2
ipak je upit u redu nego nisam video da indeksi nisu bili ok. mozete obrisati temu, ja sam pokusao ali mi ne dopušta :)
Re: problem sa not in upitom 12.11.2012. u 00:32 · pre 170 meseci #3
Mysql ne optimizuje najbolje (NOT) IN upite tj. sub-querije tako da umesto:

select popust form table1 where table1.popust NOT IN (select table2.popust form table2)

mozes da probas sa:

select table1.popust
from table1
left outer join table2
on table1.popust = table2.popust
where table2.popust is null

Ako si na to mislio pod IS NULL opcijom...


Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme