Skip to content

With(NoLock) so với With(ReadPast)

WITH (NOLOCK) và WITH (READPAST) là các table hint trong SQL Server giúp quản lý tính đồng thời theo những cách khác nhau — NOLOCK đọc dữ liệu chưa cam kết (dirty), trong khi READPAST bỏ qua các hàng bị khóa, tránh đọc dữ liệu bẩn nhưng ...

00:00 / --:--

Read by your browser's built-in voice.

WITH (NOLOCK) và WITH (READPAST) là các table hint trong SQL Server giúp quản lý tính đồng thời theo những cách khác nhau — NOLOCK đọc dữ liệu chưa cam kết (dirty), trong khi READPAST bỏ qua các hàng bị khóa, tránh đọc dữ liệu bẩn nhưng có khả năng bỏ sót dữ liệu.

With(NoLock) so với With(ReadPast)

WITH (NOLOCK) là gì?

  • WITH (NOLOCK) là một table hint được sử dụng trong SQL Server để đọc dữ liệu mà không cần yêu cầu các khóa chia sẻ (shared locks) và không tuân theo các khóa độc quyền (exclusive locks) do các giao dịch khác nắm giữ.

  • Nó cũng bỏ qua các khóa độc quyền được đặt bởi các giao dịch khác.

  • Câu lệnh SELECT của bạn sẽ không phải chờ đợi nếu một giao dịch khác đang sửa đổi cùng dữ liệu đó.

  • Nó cho phép đọc dữ liệu ngay cả khi dữ liệu đó chưa được cam kết — còn được gọi là dirty read.

WITH (READPAST) là gì?

  • WITH (READPAST) là một table hint được sử dụng trong SQL Server để đọc dữ liệu trong khi bỏ qua các hàng hiện đang bị khóa bởi các giao dịch khác.

  • Nó tránh việc bị chặn bằng cách bỏ qua các hàng bị khóa, thay vì chờ đợi chúng trở nên khả dụng.

  • Câu lệnh SELECT của bạn sẽ không phải chờ đợi nếu một giao dịch khác đang giữ khóa trên một số hàng — nó sẽ chỉ đơn giản là bỏ qua các hàng đó.

  • Nó cho phép chỉ đọc dữ liệu đã cam kết, và không trả về các hàng bẩn hoặc chưa cam kết.

Kết luận

Tóm lại, WITH (NOLOCK) cải thiện hiệu suất đọc bằng cách tránh các khóa nhưng có rủi ro về dữ liệu bẩn hoặc không nhất quán. Hãy sử dụng nó một cách cẩn thận—chỉ khi hiệu suất quan trọng hơn độ chính xác tuyệt đối, chẳng hạn như trong các truy vấn báo cáo không quan trọng.

Source: DEV Community

Original article: With(NoLock) vs With(ReadPast)

Original author: Shreyans Padmani

Rate this article

Rate this article out of 5

No ratings yet
Be the first to rate this article.

Selecting a star will ask you to sign in.
HV
Huy Vũ
Contributor at Selectgo

Shares practical engineering notes on this blog.