Article View: be.comp.programming
Article #3906Re: query probleem
From: Sjoerd Schreuder
Date: Wed, 01 Oct 2003 13:56
Date: Wed, 01 Oct 2003 13:56
41 lines
3111 bytes
3111 bytes
Passero wrote: > > Telkens wanneer ik onderstaande query wil uitvoeren loopt mijn pc vast. Ik > heb al geprobeerd in VB6 door het in de recordsource te zetten van een ADODC > en in een DB programma van mysql voor query's. Mijn computer loopt gewoon > vast en ik kan niet anders doen dan een reset. Nogtans klopt de query want > enkel als ik de access equivalant van de DB gebruik en de query in access > uitvoer lukt het. In mysql met een mysql db niet dus. Weet iemand raad? Weet je zeker dat je computer "vast loopt", of is hij gewoon erg lang bezig met het uitrekenen van de resultaten? Je doet een join over drie tabellen. Als je geen indices hebt, kan dat errug lang duren. Dus: welke indices heb je staan? Indices op de PKs is bijna verplicht. Indices op de FKs kan in een aantal gevallen ook helpen, afhankelijk van hoe de aanpak van je query is. Verder zou je een "SELECT COUNT(1) FROM ..." kunnen doen om te kijken hoeveel resultaten je hebt. En dan geen DISTINCT of ORDER BY, want dat kost alleen maar extra tijd. Bij grotere aantallen ligt het voor de hand dat je query een boel tijd nodig heeft. > Hier de query: > > SELECT DISTINCTROW REPERTORIUM.ZAAKNR, REPERTORIUM.HOEDANIGHEID, > AKTEN.REPNR, AKTEN.AARD, AKTEN.ONDERWERP, KLANTEN.FAMNAAM, KLANTEN.VOORNAAM, > KLANTEN.VOLGNR_AKTE, KLANTEN.ALLEEN_OF_SAMEN FROM (AKTEN INNER JOIN > REPERTORIUM ON AKTEN.ZAAKNR = REPERTORIUM.ZAAKNR) INNER JOIN KLANTEN ON > REPERTORIUM.KLANTNR = KLANTEN.KLANTNR ORDER BY REPERTORIUM.ZAAKNR, > KLANTEN.VOLGNR_AKTE Ziet er normaal uit. Is die DISTINCTROW echt nodig? Je zou de inner joins impliciet kunnen maken: FROM AKTEN, REPERTORIUM, KLANTEN WHERE AKTEN.ZAAKNR = REPERTORIUM.ZAAKNR AND REPERTORIUM.KLANTNR = KLANTEN.KLANTNR Dat is waarschijnlijk makkelijker te optimaliseren. Maar ik denk niet dat het daaraan ligt. Sjoerd Schreuder
Technical Details
Message-ID:
<3F7ADCF6.5459EB8E@wanadoo.nl>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!sn-xit-02!sn-xit-04!sn-xit-06!sn-xit-09!supernews.com!newshosting.com!news-xfer1.atl.newshosting.com!diablo.voicenet.com!in.100proofnews.com!in.100proofnews.com!news2.euro.net!postnews1.euro.net!news.wanadoo.nl!not-for-mailReferences:
<oJAeb.51435$io6.2252917@phobos.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: 107324,7a865f12d18a6328 X-Google-Attributes: gid107324,public X-Google-Thread: fcea4,7a865f12d18a6328 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2003-10-01 06:56:55 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!sn-xit-02!sn-xit-04!sn-xit-06!sn-xit-09!supernews.com!newshosting.com!news-xfer1.atl.newshosting.com!diablo.voicenet.com!in.100proofnews.com!in.100proofnews.com!news2.euro.net!postnews1.euro.net!news.wanadoo.nl!not-for-mail Message-ID: <3F7ADCF6.5459EB8E@wanadoo.nl> Date: Wed, 01 Oct 2003 15:56:06 +0200 From: Sjoerd Schreuder <sa_schreuder@wanadoo.nl> X-Mailer: Mozilla 4.7 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: be.comp.programming,nl.comp.programmeren Subject: Re: query probleem References: <oJAeb.51435$io6.2252917@phobos.telenet-ops.be> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 41 Organization: Wanadoo NNTP-Posting-Date: 01 Oct 2003 13:56:47 GMT NNTP-Posting-Host: vuurmuur.geodan.nl X-Trace: DXC=fV5]EOC_Mh`0NJ^:hHIOOkSKYkiiVZ:6o@dNZjVVfAHgIVH4<Rc2]db<Cok\nK^WjjB`Y`gM[1A[hEl;TV9h8DMlJMTlARfgaifU56WXPZAP\l X-Complaints-To: abuse@wanadoo.nl