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

Hvordan håndterer databasemotor samtidige indsættelser?

En databasemotor som SQL Server (som jeg antager, du spørger om, da du tagger den sådan) vil bruge en eller anden version af VÆDER Write-Ahead-logning protokol. Da en sådan protokol kræver skrivning af loggen som en sekventiel strøm, følger det som regel, at 100 inserts, der affyres samtidigt, selv på en 100 CPU-server vil skulle serialisere internt, når de får adgang til loggen. Derfor er samtidighed på 'nanosekund'-niveau, som du foreslår, ikke engang teoretisk muligt. Emnet er beskrevet flere steder, se Write-Ahead Transaction Log , Transaktionsgendannelse og Sådan virker det:Bob Dorrs SQL Server I/O-præsentation .

Men fra et praktisk synspunkt bør du tænke i transaktioner og isolation niveauer .



  1. Flet to tabeller i SQL Server 2008

  2. Fremskynder konverteringen fra MyISAM til InnoDB

  3. Find ændrede rækker (sammensat nøgle med nuller)

  4. Fjernforbindelse til clearDB heroku-database