vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
db.execute update performance 
Autor: MeinSmart
Datum: 15.07.09 21:47

Hallo,

ich habe eine Datenbank, wie wie folgt aussieht:
| a | b | c |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
| 1 | 2 | 0 |
| 2 | 0 | 0 |
| 2 | 1 | 0 |
| 2 | 2 | 0 |
| 2 | 3 | 0 |

das Ergebnis soll nachher so aussehen:
| a | b | c |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
| 1 | 2 | 1 |
| 2 | 0 | 0 |
| 2 | 1 | 0 |
| 2 | 2 | 0 |
| 2 | 3 | 1 |

Ich habe sehr viele Datensätze, so dass die Prozedur ca. 10sec dauert.
Geht das schneller als mein code - Über eine Antwort würde ich mich freuen
Set r1=DB.OpenRecordset("SELECT a FROM Index group by a")
If r1.RecordCount > 0 Then
r1.MoveLast
r1.MoveFirst
Do Until r1.EOF
Set r2=DB.OpenRecordset("SELECT max(b) As [Max] FROM Index where a=" & r1("a"))
DB.Execute "UPDATE Index SET c=1 where a=" & r1("a") & " and b=" & r2("Max")
r1.MoveNext
Loop
End If


Beitrag wurde zuletzt am 15.07.09 um 21:48:36 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
db.execute update performance1.935MeinSmart15.07.09 21:47
Re: db.execute update performance656effeff17.07.09 10:24

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel