Logo ka.boatexistence.com

რატომ ჩნდება ჩიხები sql სერვერზე?

Სარჩევი:

რატომ ჩნდება ჩიხები sql სერვერზე?
რატომ ჩნდება ჩიხები sql სერვერზე?

ვიდეო: რატომ ჩნდება ჩიხები sql სერვერზე?

ვიდეო: რატომ ჩნდება ჩიხები sql სერვერზე?
ვიდეო: SQL Server deadlock example 2024, მაისი
Anonim

ჩიხი დგება, როდესაც 2 პროცესები ეჯიბრებიან რესურსზე ექსკლუზიური წვდომისთვის, მაგრამ ვერ იღებენ მასზე ექსკლუზიურ წვდომას, რადგან სხვა პროცესი ხელს უშლის მას. … SQL სერვერი ავტომატურად ამოიცნობს ჩიხების დადგომას და იღებს მოქმედებას მსხვერპლის სახელით ცნობილი ერთ-ერთი პროცესის მოკვლით.

რატომ ხდება ჩიხი?

ორი პროცესი ეჯიბრება ორ რესურსს საპირისპირო თანმიმდევრობით. … მოგვიანებით პროცესი უნდა დაელოდო. ჩიხი ჩნდება როდესაც პირველი პროცესი ბლოკავს პირველ რესურსს იმავდროულად, როგორც მეორე პროცესი ბლოკავს მეორე რესურსს ჩიხი შეიძლება მოგვარდეს პირველი პროცესის გაუქმებითა და ხელახალი გაშვებით.

როგორ ავიცილოთ თავიდან ჩიხი SQL Server-ში?

სასარგებლო გზები SQL Server ჩიხების თავიდან აცილებისა და მინიმიზაციისთვის

  1. შეეცადეთ შეინარჩუნოთ ტრანზაქციები მოკლე; ეს თავიდან აიცილებს საკეტების შენარჩუნებას ტრანზაქციაში დიდი ხნის განმავლობაში.
  2. წვდომა ობიექტებზე მსგავსი ლოგიკური გზით მრავალჯერადი ტრანზაქციის დროს.
  3. შექმენით დაფარვის ინდექსი, რათა შეამციროთ ჩიხის შესაძლებლობა.

რა არის ჩიხი SQL Server-ში?

SQL სერვერის ჩიხი არსებითად დაპირისპირებაა ორ პროცესს შორის, რომლებიც კონკურენციას უწევენ ერთსა და იმავე რესურსზე ექსკლუზიური წვდომისთვის. იმის გამო, რომ მხოლოდ ერთ პროცესს შეუძლია ერთდროულად გამოიყენოს რესურსი, შესრულება ნელდება, სანამ ჩიხი არ მოგვარდება.

როგორ გამოვასწოროთ ჩიხი?

ჩიხების სიხშირე ზოგჯერ შეიძლება შემცირდეს იმით, რომ ყველა აპლიკაციას აქვს წვდომა მათ საერთო მონაცემებზე ერთი და იგივე თანმიმდევრობით - რაც ნიშნავს, მაგალითად, რომ მათ წვდომა ჰქონდეთ (და შესაბამისად დაბლოკონ) რიგებში ცხრილი A, შემდეგ ცხრილი B, შემდეგ ცხრილი C და ასე შემდეგ.

გირჩევთ: