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

Hvorfor en enkelt SQL delete-sætning vil forårsage dødvande?

Det sædvanlige svar:det afhænger af! :-)

Mest på, hvor meget trafik du har på dit system, og hvilket transaktionsisoleringsniveau du bruger.

Isolationsniveauet styrer, hvordan du får dine data, og hvor meget låsning der foregår. Hvis du aldrig har hørt om transaktionsisolationsniveauer, bruger du sandsynligvis standarden - READ COMMITTED, hvilket ikke burde være så slemt. valg.

Men hvis du vil bruge noget som SERIALIZABLE af en eller anden grund kan du ikke opleve dødvande - men forsinkelser. Bordet kan være låst i en periode, indtil din ene transaktion er fuldført. Hvis alle handlinger fungerer i denne rækkefølge (slet først, indsæt og vælg derefter), kan jeg ikke se, hvordan du skulle støde på nogen dødvande.

Læs op om SQL Transaction Isolation Levels her på www.sql-server- performance.com .



  1. MySQL dato og klokkeslæt funktioner eksisterer ikke

  2. Fjerner COMMENT ON fra alle objekter i PostgreSQL

  3. Dynamisk handling opdaterer alle rapporter på en side

  4. Find de kolonner, der returneres af en funktion med tabelværdi (T-SQL-eksempler)