sql >> Databáze >  >> RDS >> Sqlserver

Proč jeden příkaz SQL delete způsobí uváznutí?

Obvyklá odpověď:záleží! :-)

Většinou na tom, jaký provoz máte ve svém systému a jakou úroveň izolace transakcí používáte.

Úroveň izolace řídí, jak získáváte svá data a jak moc probíhá zamykání. Pokud jste nikdy neslyšeli o úrovních izolace transakcí, pravděpodobně používáte výchozí - READ COMMITTED, což by nemělo být tak špatné. výběr.

Pokud byste však použili něco jako SERIALIZABLE z jakýchkoli důvodů můžete zaznamenat nikoli uváznutí, ale zpoždění. Tabulka může být na určitou dobu uzamčena, dokud nebude dokončena vaše jedna transakce. Pokud všechny operace fungují v tomto pořadí (nejprve smazat, pak vložit, pak vybrat), opravdu nechápu, jak byste se měli setkat s uváznutím.

Přečtěte si o úrovních izolace transakcí SQL zde na www.sql-server- performance.com .



  1. Oracle, jak otevřít kurzor a vybrat jeden sloupec z mnoha do proměnné

  2. MySQL-Cluster se nespustí

  3. MySQL Sečte více hodnot sloupců s podmínkami

  4. postgres do MS Access