1. Trang chủ
  2. » Công Nghệ Thông Tin

Tailieu transaction 1

27 3 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 633,73 KB

Nội dung

Microsoft PowerPoint Seminar 2 XuLiTranhChap Trình bày Tiết Gia Hồng  Xử lí tranh chấp đồng thời  Deadlock  Xử lý deadlock 2  Kỹ thuật khóa  Mức cô lập là các thiết lập trong giao tác quy định vi[.]

Trình bày : Tiết Gia Hồng Xử lí tranh chấp đồng thời  Deadlock  Xử lý deadlock  Kỹ thuật khóa  Mức lập : thiết lập giao tác quy định việc xin khóa/giữ khóa thao tác đọc/ghi lên đơn vị liệu  Khóa trực tiếp câu lệnh  Read Uncommitted Đọc liệu chưa commit Read Committed Chỉ đọc liệu commit (Default) Repeatable Read Cho phép đọc lại liệu Serializable Cho phép đọc  Read Uncommitted  Đăc điểm: Không phát S đọc khơng phải chờ đọc liệu  Lỗi:  Đọc liệu rác  Khơng đọc lại liệu  Bóng ma  Mất liệu cập nhật  Giải : Không giải vấn đề xử lý đồng thời Update TAIKHOAN(‘TK01’, 300) T2 : Xin cấp X-lock bảng TAIKHOAN SQL : Cấp X-lock bảng TAIKHOAN Set  Read Uncommitted Select (TAIKHOAN) T1: Khơng xin khóa Commit Commit Mức lập gán giao tác T2 (giao tác đọc liệu) CREATE PROC USP_VANTINTK @MATK CHAR(10) AS BEGIN TRAN SET TRAN ISOLATION LEVEL READ UNCOMMITTED DECLARE @SODU FLOAT = SELECT * FROM TAIKHOAN WHERE MATK = @MATK COMMIT TRAN  Read Committed  Đặc điểm: Phát S đọc trả khóa đọc xong  Lỗi:  Khơng đọc lại liệu  Bóng ma  Mất liệu cập nhật  Giải : Giải Dirty Read Set  Read Committed Update TAIKHOAN(‘TK01’, 300) T1 : Xin khóa X SQL : Cấp khóa X Select (TAIKHOAN) T2: Xin khóa S SQL : Khơng cấp khóa S T1 khóa X Commit Commit Mức cô lập gán giao tác T2 (giao tác đọc liệu) CREATE PROC USP_VANTINTK @MATK CHAR(10) AS BEGIN TRAN SET TRAN ISOLATION LEVEL READ COMMITTED DECLARE @SODU FLOAT = SELECT * FROM TAIKHOAN WHERE MATK = @MATK COMMIT TRAN 10 Mức cô lập gán giao tác T1 (giao tác đọc liệu) CREATE PROC USP_DANGNHAP @MAKH CHAR(10), @MATKHAU CHAR(10) AS BEGIN TRAN SET TRAN ISOLATION LEVEL REPEATABLE READ IF EXISTS (SELECT * FROM KHACHHANG WHERE MAKH = @MAKH AND MATKHAU = @MATKHAU) SELECT * FROM KHACHHANG WHERE MAKH = @MAKH AND MATKHAU = @MATKHAU COMMIT TRAN 13  Serializable  Giống Repeatable Read, có ngăn chặn lệnh insert liệu thoả điều kiện thiết lập S Giải Dirty Read,Unrepeatable Read Phantom 14 Set  Serializable Select (TAIKHOAN) T1 : Xin khóa S SQL : Cấp khóa S T1 : giữ khóa S đến hết giao tác Ngăn chèn liệu vào tập khóa Insert (TAIKHOAN) T2: Xin khóa X SQL : Khơng cấp khóa X T1 ngăn không cho insert vào Commit Commit 15 Mức cô lập gán giao tác T1 (giao tác đọc liệu) CREATE PROC USP_DANGNHAP @MAKH CHAR(10), @MATKHAU CHAR(10) AS BEGIN TRAN SET TRAN ISOLATION LEVEL SERIALIZABLE IF EXISTS (SELECT * FROM KHACHHANG WHERE MAKH = @MAKH AND MATKHAU = @MATKHAU) SELECT * FROM KHACHHANG WHERE MAKH = @MAKH AND MATKHAU = @MATKHAU COMMIT TRAN 16 Lost Update Dirty Read Unrepeatable Read Phantom Read Read Uncommitted     Read Committed     Repeatable  Read (deadlock)   Serializable (deadlock)   Giải  Không giải     17 STT Khóa Ý nghĩa ReadUncommitted Khơng thiết lập shared lock đọc / Nolock (tương tự mức cô lập Read Uncommitted) ReadCommitted -Đây chế độ mặc định (tương tự readcommitted) -Chỉ đọc liệu commit -Thiết lập shared lock đơn vị liệu đọc mở clock đọc xong RepeatableRead Thiết lập shared lock đọc giữ shared lock đến hết giao tác 18 STT Khóa Ý nghĩa Serializable / Holdlock -Thiết lập shared lock đọc, giữ lock đến hết giao tác -Khơng cho insert dịng thỏa điều kiện thiết lập khóa Updlock -Dùng updatelock thay cho shared lock -Chỉ sử dụng câu đọc liệu -Uplock giữ đến hết giao tác XLock Chỉ định dùng khóa độc quyền Readpast -Chỉ khóa dịng liệu thao tác -Áp dụng cho câu lệnh đọc liệu -Chỉ dùng với READ COMMITTED 19 REPEATABLE READ STT Khóa Ý nghĩa RowLock Chỉ đặt khóa dịng cần thao tác TabLock -Khóa tồn dịng bảng thao tác khóa S -Các thao tác (Insert / Update / Delete) thực bảng 10 TabLockX Xlock + TabLock  1, 2, 3, 5, 6, có ý nghĩa dùng câu select  1, 2, 3, 5, 6, kết hợp với (khóa theo kiểu key-range) 8, (chỉ đơn vị cần khóa) 20

Ngày đăng: 06/04/2023, 09:31

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN