Postgresql 9.1.24 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 13. Điều khiển đồng thời | NEXT |
TheSQLđịnh nghĩa tiêu chuẩn Bốn cấp độ cô lập kèo tỷ số bóng đá euro hôm nay. Nghiêm ngặt nhất là Có thể nối tiếp, được xác định bởi tiêu chuẩn trong một đoạn văn trong đó nói rằng bất kỳ việc thực hiện đồng thời của một tập hợp có thể nối tiếp Các kèo tỷ số bóng đá euro hôm nay được đảm bảo để tạo ra hiệu ứng tương tự như chạy họ một lần theo một số thứ tự. Ba cấp độ khác là được định nghĩa theo các hiện tượng, do sự tương tác giữa Các kèo tỷ số bóng đá euro hôm nay đồng thời, không phải xảy ra ở mỗi cấp độ. Các Ghi chú tiêu chuẩn rằng do định nghĩa của serializable, không có Trong số các hiện tượng này là có thể ở cấp độ đó. (Điều này khó Đáng ngạc nhiên - nếu ảnh hưởng của các kèo tỷ số bóng đá euro hôm nay phải Phù hợp với việc đã được chạy một lần, làm thế nào bạn có thể thấy Bất kỳ hiện tượng nào gây ra bởi các tương tác?)
Hiện tượng bị cấm ở các cấp độ khác nhau là:
Một kèo tỷ số bóng đá euro hôm nay đọc dữ liệu được viết bởi một đồng thời kèo tỷ số bóng đá euro hôm nay không cam kết.
Một kèo tỷ số bóng đá euro hôm nay đọc lại dữ liệu mà nó đã đọc trước đó và thấy rằng dữ liệu đã được sửa đổi bởi một kèo tỷ số bóng đá euro hôm nay khác (cam kết đó kể từ lần đọc ban đầu).
Một kèo tỷ số bóng đá euro hôm nay tái lập một truy vấn trả về một bộ hàng đáp ứng điều kiện tìm kiếm và thấy rằng bộ của các hàng thỏa mãn điều kiện đã thay đổi do một kèo tỷ số bóng đá euro hôm nay cam kết gần đây.
Bốn mức cách ly kèo tỷ số bóng đá euro hôm nay và tương ứng Hành vi được mô tả trongBảng 13-1.
Bảng 13-1. Tiêu chuẩnSQLCấp độ cô lập kèo tỷ số bóng đá euro hôm nay
Cấp độ cô lập | đọc bẩn | không thể lặp lại | Phantom Read |
---|---|---|---|
Đọc không được cam kết | có thể | có thể | có thể |
Đọc cam kết | Không thể | Có thể | có thể |
Đọc lặp lại | Không thể | Không thể | có thể |
serializable | Không thể | Không thể | Không thể |
inPostgreSQL, bạn có thể Yêu cầu bất kỳ trong số bốn cấp độ phân lập kèo tỷ số bóng đá euro hôm nay tiêu chuẩn. Nhưng bên trong, chỉ có ba mức độ cô lập khác biệt, tương ứng với các cấp độ đọc cam kết, đọc lặp lại, và serializable. Khi bạn chọn cấp độ đọc bạn không cam kết thực sự được đọc đã cam kết và không thể đọc được ảo ThePostgreSQLThực hiện Đọc lặp lại, vì vậy mức độ cô lập thực tế có thể nghiêm ngặt hơn hơn những gì bạn chọn. Điều này được cho phép theo tiêu chuẩn SQL: Bốn mức độ cô lập chỉ xác định hiện tượng nào không được xảy ra, họ không định nghĩa hiện tượng nào phải xảy ra. Các Lý do rằngPostgreSQLChỉ cung cấp ba cấp độ cô lập là đây là điều duy nhất hợp lý Cách để ánh xạ các mức cách cô lập tiêu chuẩn đến đa dạng Kiến trúc kiểm soát đồng thời. Hành vi của có sẵn Mức cách cô lập được chi tiết trong các tiểu mục sau.
Để đặt mức cách ly kèo tỷ số bóng đá euro hôm nay của kèo tỷ số bóng đá euro hôm nay, sử dụng LệnhĐặt kèo tỷ số bóng đá euro hôm nay DỊCH.
Đọc cam kếtlà mặc định Mức cách cô lập trongPostgreSQL. Khi một kèo tỷ số bóng đá euro hôm nay sử dụng cấp độ cô lập này, mộtChọnTruy vấn (không cócho Cập nhật/Chia sẻmệnh đề) chỉ thấy dữ liệu được cam kết trước Truy vấn bắt đầu; nó không bao giờ thấy dữ liệu hoặc thay đổi không được cam kết cam kết trong quá trình thực hiện truy vấn bằng các kèo tỷ số bóng đá euro hôm nay đồng thời. TRONG Hiệu ứng, AChọnTruy vấn thấy ảnh chụp nhanh của cơ sở dữ liệu kể từ tức thời, truy vấn bắt đầu chạy. Tuy nhiên,ChọnCó thấy các hiệu ứng của các bản cập nhật trước được thực hiện trong kèo tỷ số bóng đá euro hôm nay của chính nó, thậm chí mặc dù họ chưa cam kết. Cũng lưu ý rằng hai liên tiếpChọnCác lệnh có thể thấy dữ liệu khác nhau, mặc dù chúng nằm trong một kèo tỷ số bóng đá euro hôm nay, nếu các kèo tỷ số bóng đá euro hôm nay khác thực hiện thay đổi trong thực hiện đầu tiênChọn.
Cập nhật, Xóa, Chọn cho CẬP NHẬTvàChọn để chia sẻCác lệnh hoạt động giống nhưChọnin Điều khoản tìm kiếm các hàng mục tiêu: Họ sẽ chỉ tìm thấy mục tiêu Các hàng đã được cam kết như thời gian bắt đầu lệnh. Tuy nhiên, Một hàng mục tiêu như vậy có thể đã được cập nhật (hoặc bị xóa hoặc bị khóa) bởi một kèo tỷ số bóng đá euro hôm nay đồng thời khác vào thời điểm thành lập. Trong trường hợp này, người cập nhật sẽ chờ đợi Cập nhật kèo tỷ số bóng đá euro hôm nay đầu tiên để cam kết hoặc quay lại (nếu nó là vẫn đang trong tiến trình). Nếu người cập nhật đầu tiên quay trở lại, thì nó các hiệu ứng bị phủ nhận và người cập nhật thứ hai có thể tiến hành Cập nhật hàng ban đầu được tìm thấy. Nếu người cập nhật đầu tiên cam kết, người cập nhật thứ hai sẽ bỏ qua hàng nếu cái thứ nhất Cập nhật đã xóa nó, nếu không nó sẽ cố gắng áp dụng Hoạt động cho phiên bản cập nhật của hàng. Tìm kiếm Điều kiện của lệnh (TheWHEREmệnh đề) được đánh giá lại để xem phiên bản cập nhật của Hàng vẫn phù hợp với điều kiện tìm kiếm. Nếu vậy, thứ hai Cập nhật tiến hành hoạt động của nó bằng phiên bản cập nhật của hàng. Trong trường hợp củaChọn cho CẬP NHẬTvàChọn chia sẻ, Điều này có nghĩa là nó là phiên bản cập nhật của hàng bị khóa và đã trả về máy khách.
Vì quy tắc trên, có thể cập nhật lệnh để xem một ảnh chụp nhanh không nhất quán: nó có thể thấy các hiệu ứng của các lệnh cập nhật đồng thời trên cùng một hàng để cập nhật, nhưng nó không thấy hiệu ứng của các lệnh đó trên Các hàng khác trong cơ sở dữ liệu. Hành vi này làm cho việc đọc cam kết Chế độ không phù hợp với các lệnh liên quan đến tìm kiếm phức tạp điều kiện; Tuy nhiên, nó chỉ là đúng cho các trường hợp đơn giản hơn. Vì Ví dụ, xem xét cập nhật số dư ngân hàng với các kèo tỷ số bóng đá euro hôm nay giống:
Bắt đầu; Cập nhật tài khoản đặt số dư = số dư + 100.00 trong đó acctnum = 12345; Cập nhật tài khoản đặt số dư = số dư - 100.00 trong đó acctnum = 7534; LÀM;
Nếu hai kèo tỷ số bóng đá euro hôm nay như vậy đồng thời cố gắng thay đổi số dư tài khoản 12345, chúng tôi rõ ràng muốn cái thứ hai kèo tỷ số bóng đá euro hôm nay để bắt đầu với phiên bản cập nhật của tài khoản hàng ngang. Bởi vì mỗi lệnh chỉ ảnh hưởng đến một hàng, cho phép nó xem phiên bản cập nhật của hàng không Tạo bất kỳ sự không nhất quán rắc rối nào.
Cách sử dụng phức tạp hơn có thể tạo ra kết quả không mong muốn trong Read Chế độ cam kết. Ví dụ: xem xét kèo tỷ số bóng đá euro hôm nayXóalệnh hoạt động trên dữ liệu đang được cả hai được thêm và loại bỏ khỏi các tiêu chí hạn chế của nó bởi kèo tỷ số bóng đá euro hôm nay lệnh, ví dụ: giả sửTrang weblà a Bảng hai hàng vớitrang web.hitsBình đẳng9và10:
Bắt đầu; Cập nhật trang web đặt hit = lượt truy cập + 1; - Chạy từ kèo tỷ số bóng đá euro hôm nay phiên khác: Xóa khỏi trang web trong đó các lượt truy cập = 10; LÀM;
TheXóasẽ không có hiệu lực. Mặc dù có kèo tỷ số bóng đá euro hôm naytrang web.hits = 10hàng trước và sauCập nhật. Cái này xảy ra vì giá trị hàng trước cập nhật9bị bỏ qua và khiCập nhậtHoàn thành vàXóacó được khóa, giá trị hàng mới là không dài hơn10nhưng11, không còn khớp với các tiêu chí.
Vì Chế độ đã cam kết bắt đầu mỗi lệnh với một lệnh mới Ảnh chụp bao gồm tất cả các kèo tỷ số bóng đá euro hôm nay được thực hiện theo đó Các lệnh tức thì, tiếp theo trong cùng một kèo tỷ số bóng đá euro hôm nay sẽ thấy những ảnh hưởng của kèo tỷ số bóng đá euro hôm nay đồng thời đã cam kết trong bất kỳ trường hợp. Điểm tại vấn đề ở trên là liệu có hay khôngđơnlệnh nhìn thấy hoàn toàn Chế độ xem nhất quán của cơ sở dữ liệu.
Sự cô lập kèo tỷ số bóng đá euro hôm nay phần được cung cấp bởi Read đã cam kết Chế độ đủ cho nhiều ứng dụng và chế độ này nhanh và đơn giản để sử dụng; Tuy nhiên, nó không đủ cho tất cả các trường hợp. Các ứng dụng thực hiện các truy vấn và cập nhật phức tạp có thể yêu cầu kèo tỷ số bóng đá euro hôm nay cái nhìn nhất quán nghiêm ngặt hơn về cơ sở dữ liệu so với đọc Chế độ cam kết cung cấp.
TheĐọc lặp lạiMức cách ly Chỉ thấy dữ liệu được cam kết trước khi kèo tỷ số bóng đá euro hôm nay bắt đầu; nó không bao giờ thấy dữ liệu không được cam kết hoặc các thay đổi đã được thực hiện trong Thực hiện kèo tỷ số bóng đá euro hôm nay theo các kèo tỷ số bóng đá euro hôm nay đồng thời. (Tuy nhiên, Truy vấn không thấy hiệu ứng của các bản cập nhật trước được thực hiện trong kèo tỷ số bóng đá euro hôm nay riêng của nó, mặc dù họ chưa cam kết.) Đây là một đảm bảo mạnh hơn so với yêu cầu củaSQLTiêu chuẩn cho việc này Mức độ cô lập và ngăn chặn tất cả các hiện tượng được mô tả trongBảng 13-1. Như đã đề cập ở trên, điều này được cho phép cụ thể bởi tiêu chuẩn, chỉ mô tảTối thiểuBảo vệ mỗi Mức cách cô lập phải cung cấp.
Cấp độ này khác với việc đọc cam kết trong đó một truy vấn trong một kèo tỷ số bóng đá euro hôm nay đọc lặp lại có thể xem một ảnh chụp nhanh bắt đầu củakèo tỷ số bóng đá euro hôm nay, không phải là bắt đầu của truy vấn hiện tại trong kèo tỷ số bóng đá euro hôm nay. Do đó, liên tiếpChọnlệnh trong kèo tỷ số bóng đá euro hôm nayđơnkèo tỷ số bóng đá euro hôm nay xem tương tự dữ liệu, tức là họ không thấy những thay đổi được thực hiện bởi các kèo tỷ số bóng đá euro hôm nay khác đã cam kết sau khi kèo tỷ số bóng đá euro hôm nay của chính họ bắt đầu.
Các ứng dụng sử dụng cấp độ này phải được chuẩn bị để thử lại kèo tỷ số bóng đá euro hôm nay do lỗi tuần tự hóa.
Cập nhật, Xóa, Chọn cho CẬP NHẬTvàChọn chia sẻCác lệnh hoạt động giống nhưChọnin Điều khoản tìm kiếm các hàng mục tiêu: Họ sẽ chỉ tìm thấy mục tiêu Các hàng đã được cam kết kể từ thời gian bắt đầu kèo tỷ số bóng đá euro hôm nay. Tuy nhiên, một hàng mục tiêu như vậy có thể đã được cập nhật (hoặc bị xóa hoặc bị khóa) bởi một kèo tỷ số bóng đá euro hôm nay đồng thời khác của thời gian nó được tìm thấy. Trong trường hợp này, kèo tỷ số bóng đá euro hôm nay đọc lặp lại sẽ đợi kèo tỷ số bóng đá euro hôm nay cập nhật đầu tiên để cam kết hoặc cuộn trở lại (nếu nó vẫn đang được tiến hành). Nếu người cập nhật đầu tiên cuộn trở lại, sau đó các hiệu ứng của nó bị phủ nhận và đọc lặp lại kèo tỷ số bóng đá euro hôm nay có thể tiến hành cập nhật hàng ban đầu được tìm thấy. Nhưng nếu người cập nhật đầu tiên cam kết (và thực sự được cập nhật hoặc đã xóa hàng, không chỉ khóa nó) sau đó đọc lặp lại kèo tỷ số bóng đá euro hôm nay sẽ được quay lại với tin nhắn
Lỗi: Không thể tuần tự hóa truy cập do cập nhật đồng thời
Vì kèo tỷ số bóng đá euro hôm nay đọc lặp lại không thể sửa đổi hoặc khóa Hàng thay đổi bởi các kèo tỷ số bóng đá euro hôm nay khác sau khi đọc lặp lại kèo tỷ số bóng đá euro hôm nay bắt đầu.
Khi một ứng dụng nhận được thông báo lỗi này, nó nên hủy bỏ kèo tỷ số bóng đá euro hôm nay hiện tại và thử lại toàn bộ kèo tỷ số bóng đá euro hôm nay ngay từ đầu. Lần thứ hai qua, kèo tỷ số bóng đá euro hôm nay sẽ thấy sự thay đổi cam kết trước đó là một phần của Chế độ xem của cơ sở dữ liệu, do đó không có xung đột logic trong việc sử dụng phiên bản mới của hàng làm điểm bắt đầu cho cái mới Cập nhật kèo tỷ số bóng đá euro hôm nay.
Lưu ý rằng chỉ cập nhật các kèo tỷ số bóng đá euro hôm nay có thể cần phải được thử lại; Các kèo tỷ số bóng đá euro hôm nay chỉ đọc sẽ không bao giờ có tuần tự hóa xung đột.
Chế độ đọc lặp lại cung cấp một sự đảm bảo nghiêm ngặt Mỗi kèo tỷ số bóng đá euro hôm nay thấy một cái nhìn hoàn toàn ổn định của cơ sở dữ liệu. Tuy nhiên, quan điểm này sẽ không nhất thiết phải luôn nhất quán với một số sê -ri (một lần) thực hiện đồng thời kèo tỷ số bóng đá euro hôm nay cùng cấp độ. Ví dụ, ngay cả chỉ đọc kèo tỷ số bóng đá euro hôm nay ở cấp độ này có thể thấy một bản ghi kiểm soát được cập nhật cho thấy rằng một lô đã được hoàn thành nhưngkhôngXem một trong các bản ghi chi tiết đó là một phần logic của lô vì nó đọc sớm hơn Sửa đổi hồ sơ kiểm soát. Nỗ lực thực thi kinh doanh Các quy tắc theo các kèo tỷ số bóng đá euro hôm nay chạy ở cấp độ cô lập này không có khả năng hoạt động chính xác mà không cần sử dụng cẩn thận các khóa rõ ràng để chặn các kèo tỷ số bóng đá euro hôm nay xung đột.
Lưu ý:trướcPostgreSQLPhiên bản 9.1, yêu cầu Mức cách ly kèo tỷ số bóng đá euro hôm nay có thể nối tiếp được cung cấp Chính xác hành vi tương tự được mô tả ở đây. Để giữ lại Hành vi nối tiếp di sản, đọc lặp lại bây giờ được yêu cầu.
TheserializableMức cách ly Cung cấp sự cô lập kèo tỷ số bóng đá euro hôm nay nghiêm ngặt nhất. Cấp độ này mô phỏng việc thực hiện kèo tỷ số bóng đá euro hôm nay nối tiếp, như thể các kèo tỷ số bóng đá euro hôm nay có được thực hiện lần lượt từng người khác, thay vì đồng thời. Tuy nhiên, giống như mức đọc lặp lại, Các ứng dụng sử dụng cấp độ này phải được chuẩn bị để thử lại kèo tỷ số bóng đá euro hôm nay do thất bại tuần tự hóa. Trong thực tế, điều này Mức cách cô lập hoạt động chính xác giống như đọc lặp lại ngoại trừ việc nó theo dõi các điều kiện có thể tạo ra thực hiện một tập hợp các kèo tỷ số bóng đá euro hôm nay serializable đồng thời cư xử theo cách không phù hợp với tất cả các sê -ri có thể tại một thời điểm) thực hiện các kèo tỷ số bóng đá euro hôm nay đó. Giám sát này không giới thiệu bất kỳ sự chặn nào ngoài hiện tại trong Đọc lặp lại, nhưng có một số chi phí cho giám sát, và phát hiện các điều kiện có thể gây radị thường tuần tự hóasẽ kích hoạt AThất bại tuần tự hóa.
Ví dụ, hãy xem xét kèo tỷ số bóng đá euro hôm nay bảngMyTab, ban đầu chứa:
Lớp | giá trị -------+------- 1 | 10 1 | 20 2 | 100 2 | 200
Giả sử rằng kèo tỷ số bóng đá euro hôm nay có thể nối tiếp A Tính toán:
Chọn tổng (giá trị) từ mytab trong đó lớp = 1;
và sau đó chèn kết quả (30) làgiá trịTrong kèo tỷ số bóng đá euro hôm nay hàng mới vớiclass = 2. Đồng thời, kèo tỷ số bóng đá euro hôm nay có thể nối tiếp B Tính toán:
Chọn tổng (giá trị) từ mytab trong đó lớp = 2;
và thu được kết quả 300, nó chèn vào kèo tỷ số bóng đá euro hôm nay hàng mới vớiclass = 1. Sau đó, cả hai kèo tỷ số bóng đá euro hôm nay cố gắng cam kết. Nếu một trong hai kèo tỷ số bóng đá euro hôm nay đã chạy ở cách cô lập đọc lặp lại Cấp độ, cả hai sẽ được phép cam kết; Nhưng vì không có thứ tự thực thi nối tiếp phù hợp với kết quả, sử dụng Các kèo tỷ số bóng đá euro hôm nay có thể nối tiếp sẽ cho phép một kèo tỷ số bóng đá euro hôm nay thực hiện và sẽ quay lại với tin nhắn này:
Lỗi: Không thể tuần tự hóa quyền truy cập do các phụ thuộc đọc/ghi giữa các kèo tỷ số bóng đá euro hôm nay
Điều này là do nếu A đã thực hiện trước B, B sẽ có đã tính tổng 330, không phải 300 và tương tự đơn hàng khác sẽ dẫn đến kèo tỷ số bóng đá euro hôm nay khoản tiền khác được tính toán bởi A.
Để đảm bảo khả năng nối tiếp thực sựPostgreSQLsử dụngKhóa dự đoán, có nghĩa là nó giữ khóa cho phép nó xác định khi nào một bản ghi sẽ có một tác động đến kết quả của một lần đọc trước đó từ một kèo tỷ số bóng đá euro hôm nay, đã chạy trước. TRONGPostgreSQLNhững khóa này không gây ra bất kỳ chặn và do đó có thểkhôngchơi bất kỳ phần nào trong việc gây ra bế tắc. Chúng được sử dụng để xác định và gắn cờ các phụ thuộc giữa các kèo tỷ số bóng đá euro hôm nay có thể nối tiếp đồng thời mà trong một số Sự kết hợp có thể dẫn đến sự bất thường tuần tự hóa. Ngược lại, một kèo tỷ số bóng đá euro hôm nay đọc đã đọc hoặc lặp lại có thể lặp lại đảm bảo tính nhất quán của dữ liệu có thể cần phải loại bỏ một khóa trên toàn bộ bảng, có thể chặn những người dùng khác đang cố gắng sử dụng bảng đó hoặc nó có thể sử dụngChọn cho CẬP NHẬThoặcChọn để chia sẻmà Không chỉ có thể chặn các kèo tỷ số bóng đá euro hôm nay khác mà còn gây ra đĩa truy cập.
Khóa vị ngữ trongPostgreSQL, giống như trong hầu hết cơ sở dữ liệu khác Các hệ thống, dựa trên dữ liệu thực sự được truy cập bởi một kèo tỷ số bóng đá euro hôm nay. Chúng sẽ xuất hiện trongpg_locksChế độ xem hệ thống với AModecủaSireadlock. Các khóa cụ thể có được trong Thực hiện truy vấn sẽ phụ thuộc vào kế hoạch được sử dụng bởi truy vấn, và nhiều khóa hạt mịn hơn (ví dụ: khóa tuple) có thể Kết hợp thành các khóa hạt thô ít hơn (ví dụ: khóa trang) trong quá trình kèo tỷ số bóng đá euro hôm nay để ngăn chặn sự kiệt sức của Bộ nhớ được sử dụng để theo dõi các khóa. MỘTĐọc CHỈ MỘTkèo tỷ số bóng đá euro hôm nay có thể có thể phát hành khóa sor Trước khi hoàn thành, nếu nó phát hiện ra rằng không có xung đột nào có thể xảy ra có thể dẫn đến một sự bất thường tuần tự hóa. Trong thực tế,Chỉ đọckèo tỷ số bóng đá euro hôm nay thường có thể thiết lập thực tế đó khi khởi động và tránh dùng bất kỳ Khóa dự đoán. Nếu bạn yêu cầu rõ ràngCó thể đọc serializable chỉ có thể hoãn lạikèo tỷ số bóng đá euro hôm nay, Nó sẽ chặn cho đến khi nó có thể thiết lập thực tế này. (Đây làchỉTrường hợp trong đó Khối kèo tỷ số bóng đá euro hôm nay có thể nối tiếp nhưng đọc lặp lại kèo tỷ số bóng đá euro hôm nay không.) Mặt khác, khóa Soread thường cần để được giữ quá khứ kèo tỷ số bóng đá euro hôm nay cam kết, cho đến khi đọc chồng lên nhau Viết kèo tỷ số bóng đá euro hôm nay hoàn tất.
Việc sử dụng nhất quán các kèo tỷ số bóng đá euro hôm nay có thể nối tiếp có thể đơn giản hóa phát triển. Đảm bảo rằng bất kỳ bộ đồng thời Các kèo tỷ số bóng đá euro hôm nay có thể nối tiếp sẽ có tác dụng tương tự như thể chúng đã được chạy một lần có nghĩa là nếu bạn có thể chứng minh rằng một kèo tỷ số bóng đá euro hôm nay duy nhất, như đã viết, sẽ làm điều đúng đắn khi chạy bởi chính nó, bạn có thể tự tin rằng nó sẽ làm đúng trong bất kỳ sự kết hợp của các kèo tỷ số bóng đá euro hôm nay có thể nối tiếp, thậm chí không có bất kỳ thông tin nào về những kèo tỷ số bóng đá euro hôm nay khác đó có thể làm. Điều quan trọng là một môi trường sử dụng điều này kỹ thuật có cách xử lý tuần tự hóa tổng quát thất bại (luôn trả về với giá trị sqlstate của '40001'), bởi vì sẽ rất khó dự đoán chính xác kèo tỷ số bóng đá euro hôm nay có thể đóng góp vào các phụ thuộc đọc/ghi và cần phải được quay trở lại để ngăn chặn sự bất thường của tuần tự hóa. Việc theo dõi phụ thuộc đọc/ghi có chi phí, cũng như việc khởi động lại các kèo tỷ số bóng đá euro hôm nay bị chấm dứt với Thất bại tuần tự hóa, nhưng cân bằng với chi phí và chặn liên quan đến việc sử dụng các khóa rõ ràng vàChọn để cập nhậthoặcChọn Cho chia sẻ, kèo tỷ số bóng đá euro hôm nay có thể nối tiếp là tốt nhất Lựa chọn hiệu suất cho một số môi trường.
Để có hiệu suất tối ưu khi dựa vào serializable kèo tỷ số bóng đá euro hôm nay để kiểm soát đồng thời, những vấn đề này nên được được xem xét:
khai báo kèo tỷ số bóng đá euro hôm nay làĐọc CHỈ MỘTkhi có thể.
Kiểm soát số lượng kết nối hoạt động, sử dụng A nhóm kết nối nếu cần. Đây luôn là một điều quan trọng xem xét hiệu suất, nhưng nó có thể đặc biệt quan trọng trong một hệ thống bận rộn bằng cách sử dụng serializable kèo tỷ số bóng đá euro hôm nay.
Đừng đặt nhiều hơn vào một kèo tỷ số bóng đá euro hôm nay duy nhất cần thiết cho mục đích toàn vẹn.
Không để lại kết nối33067_33090dài hơn cần thiết.
Loại bỏ các khóa rõ ràng,Chọn cho CẬP NHẬTvàChọn để chia sẻnơi không còn cần thiết do tự động bảo vệ được cung cấp bởi các kèo tỷ số bóng đá euro hôm nay có thể nối tiếp.
Khi hệ thống buộc phải kết hợp nhiều cấp độ trang Khóa dự đoán vào kèo tỷ số bóng đá euro hôm nay khóa dự đoán cấp độ quan hệ duy nhất bởi vì bảng khóa vị ngữ là thiếu trí nhớ, kèo tỷ số bóng đá euro hôm nay Tăng tỷ lệ thất bại tuần tự hóa có thể xảy ra. Bạn có thể tránh điều này bằng cách tăngMAX_PRED_LOCKS_PER_TRANSACTION.
Quét tuần tự sẽ luôn cần kèo tỷ số bóng đá euro hôm nay Khóa vị ngữ cấp độ quan hệ. Điều này có thể dẫn đến kèo tỷ số bóng đá euro hôm nay Tăng tỷ lệ thất bại tuần tự hóa. Nó có thể hữu ích Để khuyến khích sử dụng quét chỉ mục bằng cách giảmngẫu nhiên_page_costvà/hoặc tăngcpu_tuple_cost. Hãy chắc chắn cân nhắc mọi sự sụt giảm trong các cuộc chạy lại kèo tỷ số bóng đá euro hôm nay và Khởi động lại chống lại bất kỳ thay đổi tổng thể nào trong thực thi truy vấn thời gian.