Avatar billede artico Novice
18. december 2012 - 14:49 Der er 11 kommentarer og
1 løsning

Langsom mysql Tabel eller PHP kode?

Jeg har en Mysql Tabel på 11.174 Rækker med dette pladsforbrug:

Data    861,2    KiB
Indeks    114,0    KiB
Total    975,2    KiB

Den bliver langsommere og langsommere og jeg vil gerne undersøge om det er min PHP koden der henter fra tabellen eller om det er Tabellen der er forkert sat op.

Men hvor starter jeg min "undersøgelse"

Php koden er ikke speciel:

  $result = mysql_query("SELECT
                        ko.kunde_ordre_id,
                        ko.indehaver_id,
                        ko.bruger_id,
                        ko.ordre_nr,
                        ko.vare_id,
                        ko.vare_antal,
                        ko.salgspris,
                        ko.salgs_rabat,
                        ko.storrelse_id,
                        ko.farve_id,
                        ko.enhed_id,
                        ko.tilstand_id,
                     
                        date_format(ko.ordre_dato, '%d.%m.%Y %H:%i') AS ordredato2,
                        date_format(ko.leverings_dato, '%d.%m.%Y') AS levdato,
                        ko.lev_navn,
                        ko.lev_adresse,
                        ko.lev_postnr,
                        ko.lev_by,
                        ko.lev_notat,
                        ko.rekvitition,
                        ko.bestiller_ip,
                        ko.status_id,
                        ko.handling,
                       
                        b.brugere_id,
                        b.brugertype,
                               
                        bt.brugertyper_id,
                        bt.brugertype,
                   
                        v.vare_id,
                        v.varenavn,
                       
                        kos.kunde_ordre_status_id,
                        kos.status
                       
                        FROM kunde_ordre ko, brugere b, brugertyper bt, vare v, kunde_ordre_status kos
                       
                        WHERE ko.handling IN ('ny','igang')
                        AND ko.bruger_id = b.brugere_id
                     
                        GROUP BY ko.ordre_nr
                        ORDER BY ko.ordre_dato DESC
                            ")  or die ("kunde_ordre 04 ".mysql_error());

Er der nogen bud :-)
Avatar billede tobrukDk Novice
18. december 2012 - 15:28 #1
Har du prøve at test hvor hurtigt din side er?. Måske kan det være dit webhotel?..

Hvilke webhotel har du ?

Du må gerne give os andre noget mere infomation?
Avatar billede artico Novice
18. december 2012 - 15:51 #2
Det er også en mulighed med webhotellet.. hmm, men det er i et lukket system, så jeg kan ikke lige sende et link, men findes der en måde hvorpå jeg kan checke sideindlæsningen? (foruden at tage tid, og det giver jo ikke rigtig noget brugbart info?)

Hvilke info ønskser du :-)
Avatar billede artico Novice
18. december 2012 - 15:51 #3
Webhotel: Danhost
Avatar billede artico Novice
18. december 2012 - 15:56 #4
M.h.t. tid så tager den ca 70 sekunder, for at hente 254 linjer ud med kode som før beskrevet?
Avatar billede arne_v Ekspert
18. december 2012 - 16:03 #5
Den SQL ser dybt suspekt ud.

Du joiner 5 tabeller med 1 where betingelse.
Avatar billede artico Novice
18. december 2012 - 16:09 #6
Jeg er åben for forbedringer :-) Har du forslag til sqlén?
Avatar billede arne_v Ekspert
18. december 2012 - 17:16 #7
Jeg ved jo ikke hvordan dine tabeller skal haenge sammen.
Avatar billede artico Novice
18. december 2012 - 17:41 #8
Jeg kan godt se der skal renses lidt ud :-) ... vender lige tilbage senere..

Det var bare om du havde nogle tips til f.eks at checke hvilken forespørgsel der tager længst tid....
Avatar billede arne_v Ekspert
18. december 2012 - 17:55 #9
Naar du har kigget lidt paa JOIN og ON/WHERE, saa ser vi om problemet stadig eksisterer.

Hvis det stadig eksisterer, saa gaar vi igang med at kigge paa indexes.
Avatar billede arne_v Ekspert
13. januar 2013 - 04:29 #10
artico?
Avatar billede artico Novice
13. januar 2013 - 11:23 #11
Ja, jeg er ikke så hurtig, men er kommet videre, ved at fjerne celler i søgningen, Pludselig går det meget hurtigere :-) Jeg takker for henvisningen til problemløsningen og send et svar, så kan vi lukke her....
Avatar billede arne_v Ekspert
13. januar 2013 - 18:03 #12
ok
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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