Cấp độ cô lập của Chao Chaos là gì và khi nào nên sử dụng?


26

Tài liệu ADO.NET cho thấy khả năng thiết lập mức giao dịch cho giao dịch SQL thành Chaos. Nghe có vẻ khó chịu, nhưng nếu tính năng này có, có lẽ nó có một số sử dụng hợp pháp.

Lệnh SET TRANSACTION ISOLATION LEVEL trong BOL (ah! Xem, tôi có thể sử dụng google và BOL) dường như không có tên là "hỗn loạn" và ADO.NET có 5 chế độ phù hợp với các cấp độ tài liệu ngoài "hỗn loạn"

Cấp độ Chaos này để làm gì? (Và tại sao nó có một cái tên không thân thiện?)

Tham chiếu: ADO.NET enum

Câu trả lời:


11

Theo tài liệu của DB2, đây là một mức cô lập kỳ lạ, trong đó các thay đổi được cam kết với cơ sở dữ liệu ngay khi bạn thực hiện chúng (cho người khác thấy).

Nó không nói rõ ràng, nhưng, cũng không có gì để quay lại, theo như tôi có thể nói. Về cơ bản, nó có nghĩa là không có giao dịch nào cả . "Bạn nói" giao dịch ", nhưng, tôi không thực sự quan tâm". Do đó -> hỗn loạn.

Trên thực tế, tôi đã tìm thấy trong một số danh sách email rằng "Chaos" thực sự ánh xạ tới mức giao dịch "* KHÔNG" trong "DB2 cho i".


Chaos bị cô lập Độ 0 như được giải thích bởi Reuter và Gray trong lý thuyết Xử lý giao dịch của họ. Nếu bạn nghĩ rằng Đọc không thực sự liên quan đến sự cô lập dữ liệu được đọc (và tình cờ không giống như hỗn loạn). Sự hỗn loạn (giống như bất kỳ mức độ cô lập nào khác) có nhiều đặc tính - một trong những điều thú vị nhất là khả năng vi phạm Cấp độ 3 (đọc lặp lại tuần tự). Điểm mấu chốt là Chaos chỉ nên được sử dụng trong ngữ cảnh phù hợp (nghĩa là tôi khuyên bạn chỉ nên chạy trong sự cô lập hoàn toàn cho các bộ dữ liệu không yêu cầu rollback).
Đánh dấu Broadbent

11

Bạn không thể sử dụng nó để chống lại SQL Server.

Đó là trong DTS:

Và là trong SSIS:

Thêm tài liệu tham khảo, ban đầu được thêm bởi Nick Chammas trong một bình luận:


7

DB2 có một mức cô lập giao dịch gọi là "Chaos":

Thuộc tính DB2Connection.ConnectionString - Trung tâm kiến ​​thức IBM

Có lẽ nó được sử dụng cho việc đó. Tôi thực sự không chắc chắn, nhưng tôi cho rằng điều đó có nghĩa là không có sự cô lập giao dịch rõ ràng.


2
Xuất hiện chỉ dành cho Hệ thống i. Bạn có biết ý nghĩa của nó? Tôi không thể tìm thấy nhiều thông tin về nó, nó nói không có cam kết nên tôi cho rằng điều đó có nghĩa là mỗi tuyên bố được cam kết ngay lập tức. Nhưng điều này có vẻ trực giao đến mức cô lập, vì vậy có lẽ có một thứ khác
Lennart
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.