Postgresql 8.2.23 Tài tỷ lệ kèo bóng đá trực tuyến hôm nay | ||||
---|---|---|---|---|
Prev | Backward nhanh | Chương 12. Điều khiển đồng thời | Chuyển tiếp nhanh | Tiếp theo |
Vì người đọc trongPostgreSQLKhông khóa dữ tỷ lệ kèo bóng đá trực tuyến hôm nay, bất kể mức độ cô lập giao dịch, dữ tỷ lệ kèo bóng đá trực tuyến hôm nay Đọc bởi một giao dịch có thể bị ghi đè bởi một giao dịch khác giao dịch. Nói cách khác, nếu một hàng được trả lại bởiChọnĐiều đó không có nghĩa là hàng vẫn còn hiện tại ngay lập tức nó được trả lại (tức là, sau khi Truy vấn hiện tại bắt đầu). Hàng có thể đã được sửa đổi hoặc bị xóa bởi một giao dịch đã cam kết đã cam kết sau giao dịch này bắt đầu. Ngay cả khi hàng vẫn hợp lệ"Bây giờ", nó có thể được thay đổi hoặc xóa trước Giao dịch hiện tại thực hiện một cam kết hoặc rollback.
Một cách khác để suy nghĩ về nó là mỗi giao dịch nhìn thấy một Ảnh chụp nhanh nội dung cơ sở dữ tỷ lệ kèo bóng đá trực tuyến hôm nay và thực thi đồng thời Giao dịch rất có thể thấy các ảnh chụp nhanh khác nhau. Vì vậy, toàn bộ Khái niệm về"Bây giờ"có phần Dù sao cũng không xác định. Đây thường không phải là một vấn đề lớn nếu Các ứng dụng khách được phân lập với nhau, nhưng nếu khách hàng có thể giao tiếp qua các kênh bên ngoài cơ sở dữ tỷ lệ kèo bóng đá trực tuyến hôm nay sau đó sự nhầm lẫn nghiêm trọng có thể xảy ra.
Để đả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ậ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 cho CẬP NHẬT, Chọn chia sẻhoặc một phù hợpBảng khóaTuyên bố. (Chọn để cập nhậthoặcChọn chia sẻKhóa chỉ các hàng được trả về chống lại các bản cập nhật đồng thời, trong khiKhóa BÀNKhóa toàn bộ bảng.) Điều này nên được đưa vào Tài khoả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.
Kiểm tra tỷ lệ kèo bóng đá trực tuyến hôm nay hợp lệ toàn cầu cần có thêm suy nghĩ theoMVCC. Ví dụ: một ngân hàng ứng tỷ lệ kèo bóng đá trực tuyến hôm nay 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 nợ trong một bảng khác, khi cả hai Các 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 theo 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 tiền trong một serializable có thể giao dịch sẽ đưa ra một bức tranh chính xác về các hiệu ứng của các giao dịch đã cam kết trước giao dịch có thể nối tiếp 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 có phải là Vẫn có liên quan vào thời điểm nó được giao. Nếu serializable 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, để Nhận 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 để Ngăn chặn các thay đổi đồng thời, người ta nên sử dụng chế độ đã đọc, hoặc trong chế độ có thể nối tiếp, hãy cẩn thận để có được (các) khóa trước thực hiện truy vấn. Một khóa thu được từ một giao dịch có thể nối tiếp đả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 Những trước có được khóa, nó có thể có trước một số đã cam kết thay đổi trong bảng. Ảnh chụp nhanh của giao dịch có thể nối tiếp là thực sự đóng băng khi bắt đầu truy vấn đầu tiên của nó hoặc Lệnh sửa đổi dữ tỷ lệ kèo bóng đá trực tuyến hôm nay (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àng trước khi ảnh chụp nhanh bị đóng băng.