Hallo,
Ik zit met een sql probleem waar ik niet echt uit kom
Msttr bevat de records art_no (artikel nummer) en cu_sup_no (klant code) en bevat zo'n 450.000 records.
Mart bevat de records art_no (artikel nummer) en art_desc (artikel omschrijving) en bevat zo'n 100.000 records.
Nou wil ik uit msttr alle artikel nummers die een bepaalde klant gekocht heeft halen en daar dan de omschrijving bij vinden.
Als ik in mijn programma eerst alle artikel nummers ophaal uit msttr voor een klant en dan de omschrijving uit mart haal gaat dit erg snel maar zodra ik dit in 1 query wil doen duurt het 3 minuten en langer
.
de 2 losse query's:
Bij deze query's duurt het gewoon erg lang
Subquery's worden niet ondersteund door deze versie van mysql (4.0).
Wat is er fout aan deze query's waardoor het zo lang duurt?
Ik kan het natuurlijk wel door middel van die 2 aparte query's doen maar dat lijkt me niet erg netjes.
Alvast bedankt.
Ik zit met een sql probleem waar ik niet echt uit kom
Msttr bevat de records art_no (artikel nummer) en cu_sup_no (klant code) en bevat zo'n 450.000 records.
Mart bevat de records art_no (artikel nummer) en art_desc (artikel omschrijving) en bevat zo'n 100.000 records.
Nou wil ik uit msttr alle artikel nummers die een bepaalde klant gekocht heeft halen en daar dan de omschrijving bij vinden.
Als ik in mijn programma eerst alle artikel nummers ophaal uit msttr voor een klant en dan de omschrijving uit mart haal gaat dit erg snel maar zodra ik dit in 1 query wil doen duurt het 3 minuten en langer
de 2 losse query's:
SQL:
1
2
| SELECT distinct art_no FROM msttr WHERE cu_sup_no = klant code; SELECT art_desc FROM mart WHERE art_no = artikel code ; |
Bij deze query's duurt het gewoon erg lang
SQL:
1
2
3
4
5
| SELECT mart.art_no, mart.art_desc FROM mart INNER JOIN msttr ON mart.art_no = msttr.art_no WHERE msttr.cu_sup_no = klant code; SELECT mart.art_no, mart.art_desc FROM mart, msttr WHERE msttr.cu_sup_no = klant code AND msttr.art_no = mart.art_no; |
Subquery's worden niet ondersteund door deze versie van mysql (4.0).
Wat is er fout aan deze query's waardoor het zo lang duurt?
Ik kan het natuurlijk wel door middel van die 2 aparte query's doen maar dat lijkt me niet erg netjes.
Alvast bedankt.