01. februar 2002 - 09:47
Der er
7 kommentarer og 1 løsning
Mere fart på, tak.
Jeg har en tabel med ca. 210.000 cd'er I denne tabel er der et felt med lagerantal. Tabellen bliver hverdag opdatéret fra 2 tekstfiler på følgende måde: Først bliver der hentet nye cdtitler ind med load_data_infile Derefter bliver der oprettet en tmptabel indeholdende cd_id(primær nøgle i cd tabellen) og lagerantal. I den bliver der importeret ca 6000 linjer med lagerantal på de enkelte cd'er. Der er kun ca. 6000 forsk. titler på lager, derfor dette tal. Jeg nulstiller nu lagerantal i cdtabellen og updaterer den fra lager_tmp_tabellen. Det tager ca 120 sek at nulstille lagerantal med f.eks UPDATE cdbase SET lagerantal = 0 WHERE lagerantal != 0 Det er ALT for lang tid. Endvidere tager det ligeså lang tid at opdatere med de nye data. Er der nogen der har nogle SQL tricks der kan få lidt fart på?
Annonceindlæg fra DE-CIX
01. februar 2002 - 09:52
#1
update cdbase set lagerantal=0 uden where, det gør jo ikke noget du sætter noget til 0 som er 0
01. februar 2002 - 09:55
#2
...bortset fra at det tager ca. dobbelt så lang tid. Jeg har prøvet det :)
01. februar 2002 - 10:25
#3
så er der noget galt med designet af din database. Jeg kom engang til at lave sådanne en update hvor jeg glemte en where. SLAM en base med over 0.5 million rekords smadret, og det tog ikke mange sekunder. Gæt hvem der ikke var populær bagefter.
01. februar 2002 - 11:27
#4
disky: Rigtige mænd tager ikke backup, men de græder ofte :)
01. februar 2002 - 11:31
#5
vladimirr: Uden tvivl, tro mig jeg var også glad for jeg dagen før havde lavet et cronjob der automatisk dumpede hele basen om natten :-))
01. februar 2002 - 12:14
#6
hehe, Jeg har også altid backup af mine databaser, men det hjalp bare ikke da mine 2 IBM diske døde med så kort mellemrum at jeg ikke havde en at backe den sidste up på før den også døde :(
01. februar 2002 - 12:22
#7
eeewww Den var godt nok grim :(
27. februar 2002 - 13:47
#8
Det kommer vi vist ikke rigtigt videre med. Jeg lukker.
Computerworld tilbyder specialiserede kurser i database-management