Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak aparat bazy danych obsługuje współbieżne wstawianie?

Silnik bazy danych, taki jak SQL Server (o który, jak zakładam, pytasz, ponieważ tak go otagujesz) użyje jakiejś wersji BARAN Rejestrowanie zapisu z wyprzedzeniem protokół. Ponieważ taki protokół wymaga zapisywania dziennika jako strumienia sekwencyjnego, wynika z reguły, że 100 wstawek uruchomionych jednocześnie, nawet na serwerze o 100 procesorach będzie musiał wykonać wewnętrznie serializację, gdy uzyska dostęp do dziennika. Dlatego współbieżność na poziomie „nanosekund”, jak sugerujesz, nie jest nawet teoretycznie możliwa. Temat jest opisany w kilku miejscach, zobacz Dziennik transakcji zapisu z wyprzedzeniem , Odzyskiwanie transakcji i Jak to działa:Prezentacja we/wy SQL Server Boba Dorra .

Jednak z praktycznego punktu widzenia powinieneś myśleć w kategoriach transakcji i izolacji poziomy .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy mogę umieścić wyniki procedury składowanej w kursorze w innej procedurze składowanej w SQL?

  2. SQL Server 2016:Utwórz tabelę

  3. SQL Server 2008 zmienia przechwytywanie danych a wyzwalacze w ścieżce audytu

  4. Co powinieneś wiedzieć o funkcji NOCHECK podczas włączania ograniczenia CHECK w SQL Server

  5. Zmień typ zdefiniowany przez użytkownika w SQL Server