This hint specifies that data
read by any statement in a transaction will be the transactionally consistent
version of the data that existed at the start of the transaction.
Consider a situation where a
reporting system needs to generate reports based on data that remains
consistent throughout the report generation process, regardless of concurrent
transactions modifying the data. To achieve this, the SNAPSHOT isolation level
is employed:
|
BEGIN
TRANSACTION; |
By setting the transaction
isolation level to SNAPSHOT, the database engine generates a consistent
snapshot of the database at the start of the transaction. This snapshot ensures
that the data remains consistent and does not change during the transaction,
even if other transactions modify the data concurrently. This allows the
reporting system to generate reports based on a stable and consistent view of
the data, improving data integrity and accuracy. However, it’s essential to
consider the overhead associated with maintaining snapshot versions of data,
especially in high-concurrency environments.
Note : The hint 'SNAPSHOT' is
valid only with memory optimized tables
No comments:
Post a Comment
If you have any doubt, please let me know.