... vernünftigen Durchsatz hat da ja wohl nur die IDENTITY Variante. Die B&B Varianten scheitern zudem entweder an fehlender Transaktionssicherheit oder an Sperren. Ohne ausreichendes Commit-Level gibt es da Doubletten und mit ausreichendem Commit-Level Dateiweite Sperren.
Wenn lückenlose Vergabe gefordert wird (oder später gefordert werden könnte) geht die Identity Variante auch nur ohne Transaktionssicherheit, ein Grund, warum ich da immer einen funtionalen getter mit einer zentralen Tabelle für Key-Verwaltungen vorziehe; das ist am flexibelsten und hat bei optimaler Implementierung den besten Durchsatz.

D*B