/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Problemer med Query - MySQL hænger
Fra : Johan Holst Nielsen


Dato : 21-10-03 12:24

Hej,

Jeg har lidt et problem med følgende query:

SELECT DISTINCT t1.felt, t2.felt, t3.felt
FROM tabel1 t1, tabel2 t2, tabel3 t3 WHERE
t1.felt = t2.felt AND
t1.felt = t3.felt ORDER BY t1.felt

Den hænger simpelthen :(
Pointen er jeg vil sammenligne t1, t2 og t3 felt (som indeholder et
kundenummer ved bestilling) - og finde ud af hvor mange der har bestilt
alle 3 produkter.

Tabellerne skal se sådan ud ;) Men en længere historie - pga. en del
andet i applikationen.

Nu er spørgsmålet bare hvorledes jeg får optimeret den forespørgsel
ordentligt?

Det skal siges at "felt" felterne er varchar(25) og der er intet Index
eller ligende på dem pt... Værdien er IKKE unik for hver enkel tabel -
og længden af strengen i varchar feltet kan også være forskelligt fra
row til row.

Nogle der har nogle forslag :)

mvh
Johan


 
 
Troels Arvin (21-10-2003)
Kommentar
Fra : Troels Arvin


Dato : 21-10-03 12:47

On Tue, 21 Oct 2003 13:23:59 +0200, Johan Holst Nielsen wrote:

> Pointen er jeg vil sammenligne t1, t2 og t3 felt (som indeholder et
> kundenummer ved bestilling) - og finde ud af hvor mange der har bestilt
> alle 3 produkter.

Du har en tabel pr. produkt?

> der er intet Index eller ligende på dem pt

Så sæt indexes på.

Har du køre en EXPLAIN på din forespørgsel?

Er du sikker på, at MySQL hænger fordi det tager lang tid at udføre
forespørgslen, og at det ikke skyldes en eller anden fejl i MySQL? Jeg
ved ikke lige, hvordan man bedst skelner de to situationer; måske ved at
kigge på, om MySQL bruger CPU-kræfter mens den "hænger".

Det kunne godt se ud som om, at der burde være tale om en relationel
division. Der er en artikel om sådanne på
http://www.dbazine.com/celko1.html

--
Greetings from Troels Arvin, Copenhagen, Denmark


Kristian Damm Jensen (21-10-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 21-10-03 13:30

"Johan Holst Nielsen" <johan@weknowthewayout.com> skrev i en meddelelse
news:3f951755$0$9728$edfadb0f@dread14.news.tele.dk...
> Hej,
>
> Jeg har lidt et problem med følgende query:
>
> SELECT DISTINCT t1.felt, t2.felt, t3.felt
> FROM tabel1 t1, tabel2 t2, tabel3 t3 WHERE
> t1.felt = t2.felt AND
> t1.felt = t3.felt ORDER BY t1.felt

Det ser jo meget ordinært og ufarligt ud.

> Den hænger simpelthen :(

Hvad mener du præcis med at den hænger?

Hvor længe får den lov til at køre? Kører den reelt (er processen aktiv)?

Hvor store er dine tabeller?

<snip>

--
Kristian Damm Jensen
damm (at) ofir (dot) dk



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste