Logo lt.boatexistence.com

Kodėl sql serveryje atsiranda aklavietės?

Turinys:

Kodėl sql serveryje atsiranda aklavietės?
Kodėl sql serveryje atsiranda aklavietės?

Video: Kodėl sql serveryje atsiranda aklavietės?

Video: Kodėl sql serveryje atsiranda aklavietės?
Video: SQL Server deadlock example 2024, Gegužė
Anonim

Aklavietė įvyksta, kai 2 procesai konkuruoja dėl išskirtinės prieigos prie š altinio, bet negali gauti išskirtinės prieigos prie jo, nes kitas procesas tam neleidžia. … SQL serveris automatiškai aptinka, kada atsitiko aklavietė, ir imasi veiksmų nužudydamas vieną iš procesų, žinomų kaip auka.

Kodėl atsitinka aklavietė?

Du procesai, konkuruojantys dėl dviejų išteklių priešinga tvarka. … Vėlesnis procesas turi palaukti. Aklavietė įvyksta kai pirmasis procesas užrakina pirmąjį išteklius tuo pačiu metu, kai antrasis procesas užrakina antrąjį Aklavietę galima išspręsti atšaukus ir paleidus pirmąjį procesą iš naujo.

Kaip galime išvengti SQL serverio aklavietės?

Naudingi būdai išvengti ir sumažinti SQL serverio aklavietes

  1. Stenkitės, kad sandoriai būtų trumpi; taip išvengsite operacijos užrakinimo ilgą laiką.
  2. Pasiekite objektus panašiu loginiu būdu atlikdami kelias operacijas.
  3. Sukurkite apimantį indeksą, kad sumažintumėte aklavietės tikimybę.

Kas yra SQL serverio aklavietė?

SQL serverio aklavietė iš esmės yra dviejų procesų, kurie konkuruoja dėl išskirtinės prieigos prie to paties š altinio, atotrūkis. Kadangi išteklius vienu metu gali naudoti tik vienas procesas, našumas sulėtėja, kol aklavietė išsprendžiama.

Kaip ištaisyti aklavietę?

Aklavietės dažnis kartais gali būti sumažintas užtikrinant, kad visos programos pasiektų savo bendruosius duomenis ta pačia tvarka – tai reiškia, kad, pavyzdžiui, jos pasiekia (ir todėl užrakina) eilutes A lentelė, po to B lentelė, po to C lentelė ir pan.

Rekomenduojamas: