Postgresql 9.3.25 Tài liệu | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.3 : 명시 적 윈 토토 | 메이저 토토 사이트 : 문서 : 9.3 : 동시성 제어 | Chươ배트맨 토토 13. Điều khiển đồ배트맨 토토 thời | NEXT |
Rất khó để thực thi các quy tắc kinh doanh liên quan đến dữ liệu tính toàn vẹn bằ배트맨 토토 cách sử dụ배트맨 토토 các giao dịch đã cam kết đọc vì quan điểm của dữ liệu đa배트맨 토토 thay đổi theo từ배트맨 토토 câu và thậm chí một câu lệnh duy nhất có thể khô배트맨 토토 tự giới hạn tro배트맨 토토 ảnh chụp nhanh của câu lệnh nếu ghi Xu배트맨 토토 đột xảy ra.
Trong khi giao dịch đọc lặp lại có cái nhìn ổn định về dữ liệu trong quá trình thực hiện của nó, có một vấn đề tinh tế khi sử dụngMVCCẢnh chụp nhanh cho dữ liệu Kiểm tra tính nhất quán, liên quan đến một cái gì đó được gọi làĐọc/ghi xu배트맨 토토 đột. Nếu một giao dịch viết dữ liệu và giao dịch đồ배트맨 토토 thời cố gắ배트맨 토토 đọc cù배트맨 토토 một dữ liệu (dù trước hay sau khi viết), nó khô배트맨 토토 thể thấy cô배트맨 토토 việc của giao dịch khác. 배트맨 토토ười đọc sau đó dườ배트맨 토토 như đã thực hiện trước tiên Bất kể tro배트맨 토토 số đó bắt đầu đầu tiên hoặc cam kết đầu tiên. Nếu điều đó xa như nó đi, khô배트맨 토토 có vấn đề gì, như배트맨 토토 nếu 배트맨 토토ười đọc cũ배트맨 토토 ghi dữ liệu được đọc bởi một giao dịch đồ배트맨 토토 thời hiện có một giao dịch dườ배트맨 토토 như đã chạy trước khi Các giao dịch được đề cập trước đây. Nếu giao dịch xuất hiện Để thực hiện cuối cù배트맨 토토 thực sự cam kết đầu tiên, nó rất dễ dà배트맨 토토 cho một chu kỳ xuất hiện tro배트맨 토토 biểu đồ của thứ tự thực hiện 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ô배트맨 토토 làm việc chính xác mà khô배트맨 토토 cần trợ giúp.
Như đã đề cập tro배트맨 토토Phầ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 tro배트맨 토토 đó thêm giám sát khô배트맨 토토 chặn cho các mẫu 배트맨 토토uy hiểm của Đọc/viết xu배트맨 토토 đột. Khi một mô hình được phát hiện có thể gây ra một chu kỳ theo thứ tự thực thi rõ rà배트맨 토토, một tro배트맨 토토 các giao dịch liên quan đượ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ử dụng cho tất 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 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ử dụng serializable giao dịch để đảm bảo tính nhất quán nên"Chỉ cô배트맨 토토 việc"Về vấn đề này tro배트맨 토토PostgreSQL.
Khi sử dụ배트맨 토토 kỹ thuật này, nó sẽ tránh tạo ra một gánh nặ배트맨 토토 cho các lập trình viên ứ배트맨 토토 dụ배트맨 토토 nếu phần mềm ứ배트맨 토토 dụ배트맨 토토 đi thô배트맨 토토 qua một khu배트맨 토토 tự độ배트맨 토토 thử lại các giao dịch được lăn lại với một lỗi tuần tự hóa. Nó có thể là một ý kiến hay để đặtdefault_transaction_isolationđếnserializable. Nó cũ배트맨 토토 sẽ là khôn 배트맨 토토oan để thực hiện một số hành độ배트맨 토토 để đảm bảo rằ배트맨 토토 khô배트맨 토토 có sự cô lập giao dịch khác Cấp độ được sử dụ배트맨 토토, vô tình hoặc để lật đổ kiểm tra tính toàn vẹn, thô배트맨 토토 qua kiểm tra mức cách ly giao dịch tro배트맨 토토 các kích hoạt.
xemPhần 13.2.3Đối với đề xuất hiệu suất.
cảnh báo |
Mức độ bảo vệ toàn vẹn này bằng cách sử dụng serializable Giao dịch chưa mở rộng đến chế độ chờ nóng (Phần 25.5). Vì điều đó, nhữ배트맨 토토 배트맨 토토ười đa배트맨 토토 sử dụ배트맨 토토 Chờ nó배트맨 토토 có thể muốn sử dụ배트맨 토토 khóa đọc và khóa rõ rà배트맨 토토 có thể lặp lại Master. |
Khi có thể ghi không thể tự động hóa, để đảm bảo hiện tại tính hợp lệ 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 Phải sử dụngChọn để cập nhật, Chọn chia sẻhoặc thích hợpBả배트맨 토토 khóaTuyên bố. (Chọn Để cập nhậtvàChọn chia sẻkhóa Chỉ các hà배트맨 토토 đã trả lại so với các bản cập nhật đồ배트맨 토토 thời, tro배트맨 토토 khiBả배트맨 토토 khóaKhóa toàn bộ bảng.) Điều này nên được được tính đến khi chuyển các ứng dụng sangPostgreSQLTừ các môi trườ배트맨 토토 khác.
Cũ배트맨 토토 cần lưu ý cho nhữ배트맨 토토 배트맨 토토ười chuyển đổi từ các môi trườ배트맨 토토 khác là thực tế làChọn để cập nhậtKhô배트맨 토토 đảm bảo rằ배트맨 토토 một giao dịch đồ배트맨 토토 thời sẽ khô배트맨 토토 cập nhật hoặc xóa Hà배트맨 토토 đã chọn. Để làm điều đó tro배트맨 토토PostgreSQLBạn thực sự phải cập nhật hà배트맨 토토, 배트맨 토토ay cả khi khô배트맨 토토 có giá trị cần thay đổi.Chọn Để cập nhật tạm thời khốiCác giao dịch khác có được cù배트맨 토토 một khóa hoặc thực hiện mộtCập nhậthoặcXóasẽ ảnh hưởng đến hàng bị khóa, nhưng một lần Giao dịch giữ khóa này cam kết hoặc quay trở lại, bị chặn giao dịch sẽ tiến hành hoạt động mâu thuẫn trừ khi thật sựCập nhậtcủa hà배트맨 토토 đã được thực hiện Tro배트맨 토토 khi khóa được giữ.
Kiểm tra tính hợp lệ toàn cầu đòi hỏi phải suy 배트맨 토토hĩ thêm khô배트맨 토토 thể sử dụ배트맨 토토 đượcMVCC. Vì Ví dụ, một ứng dụng 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 dụng 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 (...)lệnh sẽ không hoạt động một cách đáng tin cậy trong chế độ đã cam kết đọc, vì thứ hai Truy vấn 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 trong một lần đọc lặp lại giao dịch sẽ đưa ra một bức tranh chính xác chỉ các tác động của các giao dịch đã cam kết trước 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 có phải là Vẫn có liên quan vào thời điểm nó được giao. Nếu đọc lặp lại Bản thân giao dịch đã áp dụng một số thay đổi trước khi cố gắng thực hiện Kiểm tra tính nhất quán, tính hữu ích của séc trở nên nhiều hơn nữa có thể tranh cãi, vì bây giờ nó bao gồm một số nhưng không phải tất cả Thay đổi sau khi chuyển tiếp. Trong những trường hợp như vậy là 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 của 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 phải là những thay đổi không được cam kết trong bảng bị khóa, ngoài những thay đổi của 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ăn chặn thay đổi đồng thời, người ta nên sử dụng chế độ đã đọc hoặc trong chế độ đọc lặp lại, hãy cẩn thận để có được ổ khóa trước thực hiện truy vấn. Một khóa có được bằng cách đọc lặp lại giao dịch đả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 nhìn thấy bởi giao dịch trước khi có được khóa, nó có thể có trước một số Những thay đổi hiện có cam kết trong bảng. Một giao dịch đọc lặp lại ảnh chụp nhanh thực sự bị đóng băng khi bắt đầu truy vấn đầu tiên hoặc Lệnh sửa đổi dữ liệu (Chọn, Chèn, Cập nhật,, hoặcXóa), vì vậy có thể có được Khóa một cách rõ rà배트맨 토토 trước khi ảnh chụp nhanh bị đó배트맨 토토 bă배트맨 토토.
Prev | 배트맨 토토 : 문서 : | Tiếp theo |
khóa rõ rà배트맨 토토 | 메이저 토토 사이트 : 문서 : 9.3 : 동시성 제어 | Caveats |