Avatar billede Søren Bech Morsing Praktikant
28. marts 2006 - 08:38 Der er 8 kommentarer og
1 løsning

løbe 750.000 records igennem for opdatering fra Visual Basic?

Jeg løber ca. 750.000 poster igennem for at opdatere et felt, fra et Visual Basic program.

Server: MS SQL 2000 med 1 gb ram
- den står med total 1,1 gb i joblisten (alle processer)

Jeg får ingen fejl men programmet dør til sidst - har lavet samme opdatering på op til 400.000 poster uden problemer.

Er det dårlig programmering eller SQL serveren tror I der har problemer?
Avatar billede michael_stim Ekspert
28. marts 2006 - 08:53 #1
Den burde ikke dø af 750000 poster. Kan nok være din programmering.
Avatar billede Søren Bech Morsing Praktikant
28. marts 2006 - 08:58 #2
så hvis jeg vælger select * from [tabel] ORDER BY [id]

og med cusorset så jeg kan opdatere samtidig med så burde det bare være det?
(3,2) står der når jeg åbner min SQL forespørgesel (er ikke lige så hård i VB)
Avatar billede ldanielsen Nybegynder
28. marts 2006 - 10:30 #3
Vi må nok se noget kode, eller i det mindste vide hvad det er der skal opdateres.
Avatar billede Søren Bech Morsing Praktikant
28. marts 2006 - 11:25 #4
2 x INT, skal lige hitte koden på en anden maskine (men der kommer 1 gb ram mere i maskinen om 10 minutter, så ser vi lige)
Avatar billede Slettet bruger
01. april 2006 - 06:47 #5
Tror nok du skal kigge alvorligt på om det virkeligt er nødvendigt at lave et updatable recordset med 750000 records og om det er nødvendigt at sorterer på id (med mindre der er et index på den kolonne af en slags).

Hvis du kan komme i en situation hvor du bare sender et update til SQL server så er du langt bedre tjent med det, men kommer jo an på kravene til opdateringen, men prøv at skrive lidt om hvorfor du skal have alle 750000 records selected for at kunne lave den update.
Avatar billede Søren Bech Morsing Praktikant
01. april 2006 - 16:42 #6
krytpos: der skal laves en stolpesortering så post 1 og (antal/2) 375001 kan vises efter hinanden.

Men jeg har talt med en database person og han sagde at vi skulle gøre det direkte i SQL statements i stedet for at "misbruge" resultset/recordset (er det ikke det samme?)
Så det kræver vidst et kursus i SQL
Avatar billede Slettet bruger
01. april 2006 - 19:36 #7
Jeg det er meget langt fra det samme - SQL Server er i stand til langt mere effektivt at håndterer den slags internt. Den type recordset der skal anvendes til dit formål kræver en del resourcer (unødvendigt) på sålvel database serveren som på den klient som foretager opdateringen.

Undskyld men stolpesortering  ???
Avatar billede Søren Bech Morsing Praktikant
01. april 2006 - 20:13 #8
udskrift - hvor man ønsker flere poster pr print (fx a2 print, som skæres til 4 a4 sider efter print, her kan sorteringen være vigtig: her 4 stolper)
Avatar billede Søren Bech Morsing Praktikant
25. juni 2006 - 15:03 #9
lukket.
Til info skal det nævnes der kom 1 gb ram mere i maskinen, total 2 gb
- og det hjalp gevaldigt på performance.
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