Sometimes it's desirable to display views with transaction isolation level read uncommitted, especially when dealing with large, complex datasets/cubes.
Is there a way to achieve this? Or could this be added as an option in the table/view settings?
Sometimes it's desirable to display views with transaction isolation level read uncommitted, especially when dealing with large, complex datasets/cubes.
Is there a way to achieve this? Or could this be added as an option in the table/view settings?
Hi Harm,
Back in the day, using (nolock) or READ UNCOMMITTED could speed up select queries quite a bit as they would no longer be blocked by active transactions, simply returning whatever is currently there, committed or not.
However, nowadays all SQL Server databases are set up using the read-committed snapshot isolation (RCSI). The Thinkwise Platform connects to the RCSI-enabled databases using READ COMMITTED isolation level.
RCSI with READ COMMITTED ensures that all reads are already non-blocking. If a transaction is affecting rows, the snapshot rows are instead read from the tempdb, so a consistent result is presented.
It is still technically possible to use READ UNCOMMITED, but the performance gains are very marginal, nearly indistinguishable. The only performance gain would be not having the tempdb version look-up in case a transaction is active.
The drawback to switching to READ UNCOMMITTED includes duplicate rows, missing rows and concurrency problems. The Thinkwise Platform is not configured to handle these issues.
Bottomline - I doubt using READ UNCOMMITTED is ever a solution to performance challenges.
Worth to check:
Hi Anne,
Thank you for your quick response; this clarifies a lot.
We'll look into this and find a good solution.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.