31. august 2006 - 19:56Der er
18 kommentarer og 1 løsning
Optimeret sletning af dublerede rækker
Jeg har to tabeller, hvor der er nogle gengangere som jeg ønsker fjernet fra den ene. Pt. bruger jeg følgende: DELETE FROM `artikel2` USING `artikel`, `artikel2` WHERE artikel2.artID = artikel.artID;
Det virker da også fint, men meget langsomt. Er der en smartere måde at udfører denne sletning på, som helst skulle give bedre performance.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Den ser jo meget fornuftig ud. Jeg kan ikke lige se om performance skulle være bedre, fordi jeg får følgende fejl: #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT artID FROM artikel)' at line 3
Jeg er ret sikker på at den giver bedre performance end dit nuværende. Men, prøv endelig at afprøve det selv. Det er den slags eksperimenter man lære mest af. :^)
Arne_v har ret i at det kan blive en meget stor IN-del, hvis du har mange rækker i artikel-tabellen. Jeg er dog ikke sikker på at dette koster specielt meget på performance (men måske skulle jeg afprøve det selv. Det er den slags eksperimenter man lære mest af. ;^)
Bortset fra det, så er der ganske gode grunde til generelt at opdatere til 5.
Siden at du anvender arne_v's løsning på denne her, står jeg bare over på point. Men ellers tak for tilbudet. :^)
Der er temlig mange rækker, og det er lidt af et arbejde at opg. til ver 5. Men jeg kan forstå på jer, at det er det værd. Tak for hjælpen begge to.
Synes godt om
Ny brugerNybegynder
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.