Avatar billede spiri Nybegynder
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å?
Avatar billede disky Nybegynder
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
Avatar billede spiri Nybegynder
01. februar 2002 - 09:55 #2
...bortset fra at det tager ca. dobbelt så lang tid.

Jeg har prøvet det :)
Avatar billede disky Nybegynder
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.
Avatar billede vladimirr Nybegynder
01. februar 2002 - 11:27 #4
disky: Rigtige mænd tager ikke backup, men de græder ofte :)
Avatar billede disky Nybegynder
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 :-))
Avatar billede vladimirr Nybegynder
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 :(
Avatar billede disky Nybegynder
01. februar 2002 - 12:22 #7
eeewww

Den var godt nok grim :(
Avatar billede spiri Nybegynder
27. februar 2002 - 13:47 #8
Det kommer vi vist ikke rigtigt videre med.

Jeg 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