Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

In che modo il motore di database gestisce gli inserimenti simultanei?

Un motore di database come SQL Server (che presumo tu stia chiedendo, dato che lo tagghi così) utilizzerà una versione di ARIES Registrazione in anticipo protocollo. Poiché un tale protocollo richiede la scrittura del log come flusso sequenziale, segue di regola che 100 inserimenti attivati ​​contemporaneamente, anche su un server da 100 CPU dovranno serializzare internamente quando accedono al log. Pertanto, la concorrenza a livello di "nanosecondi", come lei suggerisce, non è nemmeno teoricamente possibile. L'argomento è descritto in diversi punti, vedere Registro delle transazioni Write-Ahead , Recupero delle transazioni e Come funziona:presentazione I/O di SQL Server di Bob Dorr .

Tuttavia, da un punto di vista pratico, dovresti pensare in termini di transazioni e isolamento livelli .