Rất khó để thực thi các quy tắc kinh doanh liên quan đến tính toàn vẹn dữ liệu bằng cách sử tỷ lệ kèo bóng đá trực tuyến hôm nay các giao dịch đã được đọc vì quan điểm của dữ liệu đang thay đổi theo từng tuyên bố và thậm chí một câu lệnh duy nhất có thể không giới hạn ảnh chụp nhanh nếu xung đột ghi.
Trong khi giao dịch đọc lặp lại có cái nhìn ổn định về dữ liệu trong suốt quá trình thực hiện của nó, có một vấn đề tinh tế khi sử tỷ lệ kèo bóng đá trực tuyến hôm nayMVCCẢnh chụp nhanh cho kiểm tra tính nhất quán của dữ tỷ lệ kèo bóng đá trực tuyến hôm nay, liên quan đến một cái gì đó được gọi làĐọc/ghi xung đột. Nếu một giao dịch ghi dữ tỷ lệ kèo bóng đá trực tuyến hôm nay và giao dịch đồng thời cố gắng đọc cùng một dữ tỷ lệ kèo bóng đá trực tuyến hôm nay (dù trước hoặc sau khi ghi), nó không thể thấy công việc của giao dịch khác.
Như đã đề cập trongPhần 13.2.3, Các giao dịch có thể nối tiếp chỉ là các giao dịch đọc lặp lại để thêm giám sát không chặn cho các mẫu xung đột đọc/ghi nguy hiểm. Khi một mẫu được phát hiện có thể gây ra một chu kỳ theo thứ tự thực thi rõ ràng, một trong các giao dịch liên quan sẽ được quay lại để phá vỡ chu kỳ.
Nếu mức cách ly giao dịch có thể nối tiếp được sử tỷ lệ kèo bóng đá trực tuyến hôm nay cho tất cả các ghi và cho tất cả các lần đọc cần một cái nhìn nhất quán về dữ liệu, không cần nỗ lực nào khác để đảm bảo tính nhất quán. Phần mềm từ các môi trường khác được viết để sử tỷ lệ kèo bóng đá trực tuyến hôm nay các giao dịch có thể nối tiếp để đảm bảo tính nhất quán nênMạnhchỉ làm việcxôngVề vấn đề này trongPostgreSQL.
Khi sử tỷ lệ kèo bóng đá trực tuyến hôm nay kỹ thuật này, nó sẽ tránh tạo ra một gánh nặng không cần thiết cho các lập trình viên ứng tỷ lệ kèo bóng đá trực tuyến hôm nay nếu phần mềm ứng tỷ lệ kèo bóng đá trực tuyến hôm nay đi qua một khung tự động lấy lại các giao dịch được thực hiện lại với lỗi tuần tự hóa. Nó có thể là một ý tưởng tốt để thiết lậpdefault_transaction_isolation
đếnserializable
. Cũng sẽ là khôn ngoan khi thực hiện một số hành động để đảm bảo rằng không sử tỷ lệ kèo bóng đá trực tuyến hôm nay mức độ phân lập giao dịch nào khác, vô tình hoặc để lật đổ kiểm tra tính toàn vẹn, thông qua việc kiểm tra mức cách ly giao dịch trong các kích hoạt.
xemPhần 13.2.3Đối với đề xuất hiệu suất.
Mức độ bảo vệ toàn vẹn này bằng cách sử tỷ lệ kèo bóng đá trực tuyến hôm nay các giao dịch có thể nối tiếp chưa mở rộng sang chế độ chờ nóng (Phần 26.5). Do đó, những người sử tỷ lệ kèo bóng đá trực tuyến hôm nay chế độ chờ nóng có thể muốn sử tỷ lệ kèo bóng đá trực tuyến hôm nay khóa đọc và khóa rõ ràng có thể lặp lại trên chủ.
Khi có thể ghi không thể sử tỷ lệ kèo bóng đá trực tuyến hôm nay được, để đảm bảo tính hợp lệ hiện tại của một hàng và bảo vệ nó chống lại các bản cập nhật đồng thời, người ta phải sử tỷ lệ kèo bóng đá trực tuyến hôm nayChọn để cập nhật
, Chọn chia sẻ
hoặc thích hợpBảng khóa
Tuyên bố. (Chọn để cập nhật
vàChọn chia sẻ
Khóa chỉ các hàng được trả lại so với các bản cập nhật đồng thời, trong khiBảng khóa
Khóa toàn bộ bảng.) Điều này nên được tính đến khi chuyển các ứng tỷ lệ kèo bóng đá trực tuyến hôm nay thànhPostgreSQLTừ các môi trường khác.
Cũng cần lưu ý cho những người chuyển đổi từ các môi trường khác là thực tế làChọn để cập nhật
Không đảm bảo rằng một giao dịch đồng thời sẽ không cập nhật hoặc xóa một hàng đã chọn. Để làm điều đó trongPostgreSQLBạn thực sự phải cập nhật hàng, ngay cả khi không cần thay đổi giá trị.Chọn để cập nhật
khối tạm thờiCác giao dịch khác từ việc có được cùng một khóa hoặc thực hiện mộtCập nhật
hoặcXóa
sẽ ảnh hưởng đến hàng bị khóa, nhưng một khi giao dịch giữ khóa này cam kết hoặc quay lại, một giao dịch bị chặn sẽ tiến hành hoạt động mâu thuẫn trừ khi thực tếCập nhật
tỷ lệ kèo bóng đá trực tuyến hôm nay hàng đã được thực hiện trong khi khóa được giữ.
tỷ lệ kèo bóng đá trực tuyến hôm nay tra tính hợp lệ toàn cầu đòi hỏi phải suy nghĩ thêm theo không thể tự động hóaMVCC. Ví dụ, một ứng tỷ lệ kèo bóng đá trực tuyến hôm nay ngân hàng có thể muốn kiểm tra xem tổng của tất cả các khoản tín tỷ lệ kèo bóng đá trực tuyến hôm nay trong một bảng bằng tổng số các khoản ghi nợ trong một bảng khác, khi cả hai bảng đang được cập nhật tích cực.Chọn Sum (...)
Các lệnh sẽ không hoạt động một cách đáng tin cậy trong chế độ đã cam kết đọc, vì truy vấn thứ hai có thể sẽ bao gồm kết quả của các giao dịch không được tính bởi đầu tiên. Thực hiện hai khoản tiền trong một giao dịch đọc lặp lại sẽ đưa ra một bức tranh chính xác chỉ về các tác động của các giao dịch đã thực hiện trước khi giao dịch đọc lặp lại bắt đầu - nhưng người ta có thể tự hỏi một cách hợp pháp tỷ lệ kèo bóng đá trực tuyến hôm nay câu trả lời vẫn có liên quan vào thời điểm nó được gửi.chia sẻ
Mode (hoặc cao hơn) Khóa đảm bảo rằng không có thay đổi nào trong bảng bị khóa, ngoài những thay đổi tỷ lệ kèo bóng đá trực tuyến hôm nay giao dịch hiện tại.
Lưu ý rằng nếu một người đang dựa vào khóa rõ ràng để ngăn chặn các thay đổi đồng thời, người ta nên sử tỷ lệ kèo bóng đá trực tuyến hôm nay chế độ đọc đã cam kết hoặc trong chế độ đọc lặp lại hãy cẩn thận để có được khóa trước khi thực hiện truy vấn. Một khóa thu được từ một giao dịch đọc lặp lại đảm bảo rằng không có giao dịch nào khác sửa đổi bảng vẫn đang chạy, nhưng nếu ảnh chụp nhanh được thấy trước giao dịch có được khóa, nó có thể có một số thay đổi hiện có trong bảng.Chọn
, Chèn
, Cập nhật
hoặcXóa
), vì vậy có thể có được các khóa một cách rõ ràng trước khi ảnh chụp nhanh bị đóng băng.