Avatar billede skovjuul Nybegynder
02. maj 2008 - 01:47 Der er 3 kommentarer og
1 løsning

Hjælp til optimering

Det er godt nok ikke en MySql-database jeg bruger, men AbsoluteDatabase.
Hvordan optimere jeg følgende? Både selve statement men også hvordan laver jeg et indeks når det er over flere tabeller?

select A.plannerkey, A.starttime, A.endtime, A.treatment, lower(A.customername) as aftalekundenavn, lower(K.customername) as kundenavn, R.name from aftaler A, resmap R, kunder K where lower(R.name) = lower(medarbejdernavn) and A.starttime > '2008-05-02 01:45:00' and A.behandler = R.id and kundenavn = aftalekundenavn order by A.starttime

Det er hevet ud af mit Delphi-program, så medarbejdernavn og datoen bliver normalt dynamisk indsat.
Jeg har prøvet
select top 20,1 ...
for kun at få de første 20 rækker, men det er stadig lige langsomt.

På forhånd tak for hjælpen
Jesper
Avatar billede chrishunter Nybegynder
04. maj 2008 - 14:53 #1
Jeg puttede lige nogle ny-linie m.v. ind for bedre at overskue forespørgslen (og jeg overvejede også at ændre 'select' til 'SELECT, 'from' til 'FROM o.s.v., da dette er standard).

select
  A.plannerkey,
  A.starttime,
  A.endtime, A.treatment,
  lower(A.customername) as aftalekundenavn, lower(K.customername) as kundenavn, R.name
from aftaler A, resmap R, kunder K
where lower(R.name) = lower(medarbejdernavn)
  and A.starttime > '2008-05-02 01:45:00'
  and A.behandler = R.id
  and kundenavn = aftalekundenavn
        order by A.starttime

Men det hjalp nu ikke mig (der heller ikke er den største ekspert i databaseoptimering).
Jeg tror imidlertid ikke, der kan gøres så meget m.h.t. optimering, da i hvert fald MySQL er ganske god til selv at gøre dette.
Avatar billede skovjuul Nybegynder
04. maj 2008 - 17:55 #2
Tak for det chris. Jeg er normalt ikke i det her forum, kun i Delphi, så var ikke lige bekendt med reglerne.
Avatar billede chrishunter Nybegynder
05. maj 2008 - 13:27 #3
Selv tak. Jeg ved nu ikke, om det ligefrem er regler. Kutyme er det derimod, og det gør det noget nemmere på den måde.

Held og lykke. :-)
Avatar billede skovjuul Nybegynder
19. november 2008 - 22:16 #4
Nå, lige meget. Slukker og lukker.
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