Es gibt eine Tabelle mit mehr als 100.000 Datensätzen, die ein bestimmtes interessierendes Kriterium erfüllen. Ein Job wird ausgeführt, um 1000 Datensätze gleichzeitig aus diesem Satz abzurufen, und führt für jeden Datensatz eine Operation aus. Es gibt andere Prozesse, die möglicherweise die Datensätze in dieser Tabelle ändern, die den Satz von Interesse beeinflussen können. Aufgrund dieser Änderungen werden sich die Datensätze, die beim Start des Jobs in den Seiten enthalten sein sollen, ständig ändern. Dies führt dazu, dass bestimmte Datensätze entweder verloren gehen oder bestimmte Datensätze mehr als einmal verarbeitet werden.Wie verarbeiten wir Datensätze in einer großen Tabelle mit Paging, wobei sich der Status der Datensätze ändert und sich dadurch der Inhalt einer bestimmten Seite ändert?
Obwohl ich verstehe, dass das System so konzipiert sein sollte, um diese Situation zu vermeiden, ist das Re-Design des Systems zu diesem Zeitpunkt keine Wahl. Also habe ich mich gefragt, ob dies ein allgemeines Szenario ist und wenn ja, welche Art von Lösungsmustern gibt es? Ich habe versucht zu googeln, konnte aber keine sinnvollen Treffer erzielen.
danke.
Vielen Dank für die Antwort, Vinnie Falco. Da die Tabelle sehr groß ist und potentiell ständig aktualisiert werden kann, bedeutet das, dass wir die Tabelle exklusiv sperren und einen Schnappschuss machen müssen. Dies ist an dieser Stelle ein wenig undurchführbar. – Vikdor