Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
09/09/2013 17:09 # 1
vnttqb
Cấp độ: 13 - Kỹ năng: 8

Kinh nghiệm: 5/130 (4%)
Kĩ năng: 39/80 (49%)
Ngày gia nhập: 21/03/2011
Bài gởi: 785
Được cảm ơn: 319
[SQL] Phương Thức LOCKS and ISOLATION LEVEL


1. Read Uncommitted 
ƒ Đặc điểm: 
– Không thiết lập Shared Lock trên những đơn vị dữ liệu cần đọc.Do đó không phải chờ khi đọc dữ liệu (kể cả khi dữ liệu đang bị lock bởi giao tác khác) 
– ( Vẫn tạo Exclusive Lock trên đơn vị dữ liệu được ghi, Exclusive Lock được giữ cho đến hết giao tác) 

ƒ Ưu điểm: 
– Tốc độ xử lý rất nhanh 
– Không cản trở những giao tác khác thực hiện việc cập nhật dữ liệu 

ƒ Khuyết điểm: 
– Có khả năng xảy ra mọi vấn đề khi xử lý đồng thời : 
• Dirty Reads 
• Unrepeatable Reads 
• Phantoms 
• Lost Updates 

2. Read Committed 
ƒ Đặc điểm: 
– Đây là mức độ cô lập mặc định của SQL Server 
– Tạo Shared Lock trên đơn vị dữ liệu được đọc, Shared Lock được giải phóng ngay sau khi đọc xong dữ liệu 
– Tạo Exclusive Lock trên đơn vị dữ liệu được ghi, Exclusive Lock được giữ cho đến hết giao tác 

ƒ Ưu điểm: 
– Giải quyết vấn đề Dirty Reads 
– Shared Lock được giải phóng ngay, không cần phải giữ cho đến hết giao tác nên không cản trở nhiều đến thao tác cập nhật của các giao tác khác. 

ƒ Khuyết điểm: 
– Chưa giải quyết được vấn đề Unrepeatable Reads, Phantoms,Lost Updates 
– Phải chờ nếu đơn vị dữ liệu cần đọc đang được giữ khoá ghi (xlock) 

3. Repeatable Read 
ƒ Đặc điểm: 
– Tạo Shared Lock trên đơn vị dữ liệu được đọc và giữ shared lock này đến hết giao tác => Các giao tác khác phải chờ đến khi giao tác này kết thúc nếu muốn cập nhật, thay đổi giá trị trên đơn vị dữ liệu này . 
– (Repeatable Read = Read Committed + Giải quyết Unrepeatable Reads) 
– Tạo Exclusive Lock trên đơn vị dữ liệu được ghi, Exclusive Lock được giữ cho đến hết giao tác.

ƒ Ưu điểm: 
– Giải quyết vấn đề Dirty Reads và Unrepeatable Reads 

ƒ Khuyết điểm: – Chưa giải quyết được vấn đề Phantoms, do vẫn cho phép insert những dòng dữ liệu thỏa điều kiện thiết lập shared lock 
– Phải chờ nếu đơn vị dữ liệu cần đọc đang được giữ khoá ghi 
(xlock) 
– Shared lock được giữ đến hết giao tác ==> cản trở việc cập nhật dữ liệu của các giao tác khác 

4. Serializable 
ƒ Đặc điểm: 
– Tạo Shared Lock trên đơn vị dữ liệu được đọc và giữ shared lock này đến hết giao tác => Các giao tác khác phải chờ đến khi giao tác này kết thúc nếu muốn cập nhật, thay đổi giá trị trên đơn vị dữ liệu này . 
– Không cho phép Insert những dòng dữ liệu thỏa mãn điều kiện 
thiết lập Shared Lock (sử dụng Key Range Lock) ==> Serializable = Repeatable Read + Giải quyết Phantoms 
– Tạo Exclusive Lock trên đơn vị dữ liệu được ghi, Exclusive Lock 
được giữ cho đến hết giao tác. 

ƒ Ưu điểm: 
– Giải quyết thêm được vấn đề Phantoms 

ƒ Khuyết điểm: 
– Phải chờ nếu đơn vị dữ liệu cần đọc đang được giữ khoá ghi (xlock) 
– Cản trở nhiều đến việc cập nhật dữ liệu của các giao tác khác
 
 


======================================================================================================

Cuộc đời là một dòng sông. Ai không bơi thì chết. 
 

Name: Tien (Tory) TRAN
Email: TranTien29@gmail.com


 
Copyright© Đại học Duy Tân 2010 - 2024