Avatar billede kthiesen Novice
01. oktober 2013 - 13:57 Der er 4 kommentarer og
1 løsning

Er der begrænsninger i størrelsen af en query

Hej

Jeg har en query, der ikke vil afvikle hvis den er af en vis størrelse:
                                                SELECT * FROM lasterapport LEFT JOIN sold ON lasterapport.lasterapport_nummer = sold.lasterapport_nummer                                                                LEFT JOIN position ON lasterapport.lasterapport_nummer = position.lasterapport_nummer                                                                    WHERE lasterapport.skib = '$skib'                                                                    AND ankomstlastepladsdato >= '$startdato'                                                                    AND ankomstlastepladsdato <= '$slutdato'                                                                    AND lasterapport.lasterapport_nummer = sold.lasterapport_nummer                                                                    AND lasterapport.lasterapport_nummer = position.lasterapport_nummer                                                                ORDER BY lasterapport_id ASC

Ovenstående virker, men hvis jeg sætter en linje mere ind med en AND, så vil den ikke afvikle.
Jeg har testet at den kan trække værdien ud af DB.

Det virker ikke når den er som nedenstående:

SELECT * FROM lasterapport LEFT JOIN sold ON lasterapport.lasterapport_nummer = sold.lasterapport_nummer                                                                LEFT JOIN position ON lasterapport.lasterapport_nummer = position.lasterapport_nummer                                                                    WHERE lasterapport.skib = '$skib'
AND lasterapport.lasteplads = '$lasteplads'                                                        AND ankomstlastepladsdato >= '$startdato'                                                                    AND ankomstlastepladsdato <= '$slutdato'                                                                    AND lasterapport.lasterapport_nummer = sold.lasterapport_nummer                                                                    AND lasterapport.lasterapport_nummer = position.lasterapport_nummer                                                                ORDER BY lasterapport_id ASC

Jeg forstår ikke hvorfor den ikke afvikler.

Er der en begrænsning i antallet af AND man kan benytte?
Kan jeg slå min datoafgrænsning sammen som en AND:

AND '$startdato' <= ankomstlastepladsdato >= '$slutdato'

Har googlet, uden held...
Avatar billede kalp Novice
01. oktober 2013 - 14:12 #1
Du kan sagtens have mange flere "AND" betingelser:)

Problemer er måske mere i database opsætningen.

Jeg mener du kan skrue på denne setting "max_allowed_packet".

Sæt den højere op og se om det hjælper:)

Husk at vælge den rigtige MySQL version - herunder er 5.6 manual.
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html
http://dev.mysql.com/doc/refman/5.6/en/program-options.html
Avatar billede kthiesen Novice
01. oktober 2013 - 19:32 #2
Jeg har sat max_allowed_packet op til det firedobbelte, desværre uden held.

Kan der være andre præferencer, der skal skrues på for at det virker?
Avatar billede kalp Novice
02. oktober 2013 - 11:20 #3
Ikke umiddelbart, men jeg tror stadig problemet er der.
Det kan du hurtigt teste:)

Opret din database igen, men smid 2-3 rækker i den kun.
Prøv din SQL sætning. Virker det så ved du i hvert fald hvilken retning du skal kigge.

Det burde tage 1min at oprette tabellen for jeg går ud fra du enten har SQL'en til den eller nemt kan autogenere den via. MySQL:)
Avatar billede kthiesen Novice
02. oktober 2013 - 16:56 #4
Hej igen

Tålmodighed er en dyd!

Det var fordi CPU kraften i min server (synology DS209+) ikke er helt på toppen.

Efter 15 minutter kom den første fil til verden, så nu virker det.

Send svar - så får du point for din ping-pong med mig :-)
Avatar billede kalp Novice
03. oktober 2013 - 00:26 #5
super:)
godt det lykkedes:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester