What scenarios/settings will result in a query on SQL Server (2008) return stale data
Posted
by s1mm0t
on Stack Overflow
See other posts from Stack Overflow
or by s1mm0t
Published on 2010-05-22T20:28:59Z
Indexed on
2010/05/22
20:40 UTC
Read the original article
Hit count: 146
Most applications rarely need to display 100% accurate data. For example if this stack overflow question displays that there have been 0 views, when there have really been 10, it doesn't really matter. This is one way that the (perceived) performance of applications can be improved, by caching results and therefore sometimes not showing 100% accurate results.
There are some cases where the data does need to be 100% accurate though. So if I run the query
select * from Foo
I want to be sure that the results are not stale. Now depending on how my database is set up, other activity on the database, use of transactions and isolation levels etc this query may or may not be a true reflection of the world.
What scenario's and settings can people think of that will result in this query returning stale results or given that another connection is part way through a transaction that has updated this table, how can I guarantee that when the above query returns, the results will be accurate.
© Stack Overflow or respective owner