24. april 2004 - 20:36
Der er
12 kommentarer og 1 løsning
Where performance spørgsmål
Sidder og forsøger at få lidt mere viden omkring database performance. Hvis man benytter WHERE er det så korrekt at søgningen (Set fra serverens synspunkt) forgår "nedaf til højre) således illustreret a b c - - - 1 2 3 4 5 6 7 8 9 Hvis db'en læser på denne måde vil det således være bedst at placere de felter som der skal være selectes med WHERE helt ude til venstre? Altså SELECT * FROM tabel WHERE A=4 Vil være hurtigere fremfor SELECT * FROM tabel WHERE C=6 korrekt/ikke korrekt forstået?
Annonceindlæg fra QNAP
24. april 2004 - 20:37
#1
tillægsspørgsmål Hvad er forskellen i performance på INNER JOIN fremfor (full) OUTER JOIN
24. april 2004 - 20:41
#2
det er jo altid hurtigt at læse det der står først.. men normal går det så hurigt at det er lige meget.. Opstil dem så de er overskuelige, det er vigtigst
24. april 2004 - 20:41
#3
Principielt er den slags database specifikt. Men jeg vil vurdere at det er ikke korrekt for alle normale databaser. Database serveren læser en stor chunk data op fra disk til memory og finder data i memory. Og om noget ligger først eller sidst bør ikke betyde noget. Den behøver iøvrigt ikke gemme felterne i samme rækkefølge som du har angivet dem i.
24. april 2004 - 20:44
#4
thedeathart> Definér normalt? :o) arnve_v> fint nok.. i mit tilfælde kan data/index'er ikke ligge i RAM.. Og hertil er der vel garanteret forskel på MS-SQL, MySQL&MyISAM/InnoDB o.s.v.?
24. april 2004 - 20:45
#5
Igen database specifikt. Logisk set bør en inner join være lidt hurtigere end en outer join.
24. april 2004 - 20:48
#6
Det er ligegyldigt at hele tabellen ikke kan være i RAM. Den læser stadig en klump data op i memory med en eller flere rækker i. Og opererer så på den klump memory. Hvis en række ikke kan være i memory, så må det skyldes BLOB'er/CLOB'er og de håndteres normalt specielt af databasen.
24. april 2004 - 21:28
#7
og indexes ændrer logikken.. :-)
24. april 2004 - 21:30
#8
Det tror jeg ikke. Indexes på ON felterne vil speede begge op men jeg kan ikke helt se hvorfor det skulle ændre på forholdet.
24. april 2004 - 21:34
#9
logikken ændres på den måde, at index loades først (som chunk) - reference findes, og data hentes fra tabel. I visse tilfælde kan dette være uhensigtsmæssigt - hvis datamængde er for lille.
29. april 2004 - 21:14
#10
opretter i svar arne_v> kunne jeg ikke få dig til at oprette svar første gang fremover :) Ville gøre det lidt nemmere :)
29. april 2004 - 21:18
#11
ingen points til mig - send dem til arne_v :-)
29. april 2004 - 21:20
#12
svar jo ... (jeg krummer bare altid tæer når jeg ser andre ligger et svar som så er totalt misforstået)
29. april 2004 - 21:20
#13
Jeg prøver at ramme den lille ude til højre igen
Computerworld tilbyder specialiserede kurser i database-management