Ich weiß gerade nicht aus dem Kopf, wie groß so ein Index ist, aber bei 32 Bit sind das über 2 Milliarden, das sollte doch eine gewisse Zeit ausreichen. Außerdem erschließt sich mir Deine Logik nicht so ganz.
Zitat:
1. Client verbindet sich mit der Datenbank
2. Check, ob es Softwareeinträge für den Computer gibt
2.1 Wenn ja, werden sie alle gelöscht
3. Neue Software wird in die Datenbank geschrieben (Methode: Append)
Wieso löschst Du nicht einfach die Einträge, die in Deiner aktuellen Liste nicht vorhanden sind und machst auf die anderen ein Update? Und selbst wenn das nicht möglich ist, könntest Du das Löschen aber anders machen.
SQL-Code:
DELETE FROM computer_software
WHERE sid = :id
Die vorherige Überprüfung auf Vorhandensein ist vollkommen überflüssig.