Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como o mecanismo de banco de dados lida com inserções simultâneas?


Um mecanismo de banco de dados como o SQL Server (que eu suponho que você esteja perguntando, já que você o marca assim) usará alguma versão do ÁRIES Registro com antecedência protocolo. Como tal protocolo requer a escrita do log como um stream sequencial, segue como regra que 100 inserts disparados simultaneamente, mesmo em um servidor de 100 CPUs terão que serializar internamente quando acessarem o log. Portanto, a simultaneidade no nível de 'nanossegundos', como você sugere, não é sequer teoricamente possível. O tópico é descrito em vários lugares, consulte Write-Ahead Transaction Log , Recuperação de transação e Como funciona:apresentação de E/S do SQL Server de Bob Dorr .

No entanto, do ponto de vista prático, você deve pensar em termos de transações e isolamento níveis .