Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

13.4. Tính nhất quán của dữ liệu kiểm tra ở cấp độ ứng kèo bóng đá euro#

12232_12509

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ử kèo bóng đá euroMVCCẢnh chụp nhanh cho kiểm tra tính nhất quán của dữ kèo bóng đá euro, 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ữ kèo bóng đá euro và giao dịch đồng thời cố gắng đọc cùng một dữ kèo bóng đá euro (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. Người đọc sau đó dường như đã thực hiện đầu tiên bất kể điều gì bắt đầu đầu tiên hoặc thứ gì được cam kết trước. Nếu đó là xa như nó đi, không có vấn đề gì, nhưng nếu người đọc cũng viết dữ kèo bóng đá euro được đọc bởi một giao dịch đồng thời thì giờ đây có một giao dịch dường như đã chạy trước một trong những giao dịch được đề cập trước đó. Nếu giao dịch dường như đã thực hiện cuối cùng thực sự cam kết đầu tiên, thì rất dễ dàng để một chu kỳ xuất hiện trong một biểu đồ về thứ tự thực hiện các giao dịch. Khi một chu kỳ như vậy xuất hiện, kiểm tra tính toàn vẹn sẽ không hoạt động chính xác mà không có sự trợ giúp.

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ỳ.

13.4.1. Thực thi tính kèo bóng đá euro với các giao dịch có thể nối tiếp#

Nếu mức cách ly giao dịch có thể nối tiếp được sử kèo bóng đá euro 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ử kèo bóng đá euro các giao dịch có thể nối tiếp để đảm bảo tính nhất quán nênchỉ làm việcVề vấn đề này trongPostgreSQL.

Khi sử kèo bóng đá euro kỹ thuật này, nó sẽ tránh tạo ra gánh nặng không cần thiết cho các lập trình viên ứng kèo bóng đá euro nếu phần mềm ứng kèo bóng đá euro đ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đến15154_15168. 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ử kèo bóng đá euro 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.

CẢNH BÁO: Giao dịch có thể nối tiếp và sao chép dữ kèo bóng đá euro

Mức độ bảo vệ toàn vẹn này bằng cách sử kèo bóng đá euro các giao dịch có thể nối tiếp chưa mở rộng đến chế độ chờ nóng (Phần 26.4) hoặc bản sao logic. Do đó, những người sử kèo bóng đá euro chế độ chờ nóng hoặc sao chép logic có thể muốn sử kèo bóng đá euro khóa đọc và khóa rõ ràng có thể lặp lại trên chính.

13.4.2. Thực thi tính kèo bóng đá euro với khóa chặn rõ ràng#

Khi có thể ghi không thể sử kèo bóng đá euro đượ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ử kèo bóng đá euroChọn để cập nhật, Chọn chia sẻhoặc thích hợpBảng khóaTuyên bố. (Chọn để cập nhậtChọ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óaKhóa toàn bộ bảng.) Điều này nên được tính đến khi chuyển các ứng kèo bóng đá euro thànhPostgreSQLTừ các môi trường khác.

17062_17138Chọn để cập nhậtKhô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ậthoặcXóaĐiều này 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ậtkèo bóng đá euro hàng đã được thực hiện trong khi khóa được giữ.

kèo bóng đá euro 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 kèo bóng đá euro 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 kèo bóng đá euro 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. So sánh kết quả của hai liên tiếpChọ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 liệu câu trả lời vẫn có liên quan vào thời điểm nó được gửi. Nếu bản thân giao dịch đọc lặp lại đã áp kèo bóng đá euro một số thay đổi trước khi cố gắng kiểm tra tính nhất quán, tính hữu ích của kiểm tra thậm chí còn gây tranh cãi hơn, vì bây giờ nó bao gồm một số nhưng không phải tất cả các thay đổi bắt đầu sau chuyển đổi. Trong những trường hợp như vậy, một người cẩn thận có thể muốn khóa tất cả các bảng cần thiết để kiểm tra, để có được một bức tranh không thể chối cãi về thực tế hiện tại. MỘTchia sẻKhóa chế độ (hoặc cao hơn) đảm bảo rằng không có thay đổi nào trong bảng bị khóa, ngoài những thay đổi kèo bóng đá euro giao dịch hiện tại.

19310_19899Chọn, Chèn, Cập nhật, XóahoặcHợp kèo bóng đá euro), vì vậy có thể có được các khóa rõ ràng trước khi ảnh chụp nhanh bị đóng băng.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử kèo bóng đá euroMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá euro.