SQL Snapshot Isolation Limitations

For my database application, using snapshot isolation for some transactions of my queries seems ideal for solving one of the critical requirements.

I'm worried, however, how choosing the isolation of a snapshot (which, it seems to me, should be included in the database) will now bite us when we start to get very large volumes. What is the cost of isolating pictures? Is it a fixed value, linear or geometric?

If I'm right to worry about large volumes, are there strategies / templates for application-level functionality similar to snapshot isolation that may have better overall performance but require more time / experience to implement?

Thanks,

Jason

+5
source share
2 answers

For those who are not yet experts in database locking and implementation, this can be a surprisingly difficult subject for your mind.

I highly recommend reading the Hugo Kornelis snapshot isolation series (SQL Server MVP). So far this is the most comprehensive analysis I've seen in practical terms when using snapshots.

To summarize the main issues:

  • (UNIQUE, FOREIGN KEY ..), SQL Server . , , . , / .
  • . , , , .

, , , .

, , ; , . , , , , , , (, , , !).

, , . - ( SELECT ), READ UNCOMMITTED ( "", - , ).

:

, - . (NHibernate, EF), 3- , -, , , . "", , - , , . , , , ; , .

, "" . , , , , , 20 .

+10

, . , , .

tempdb. .

, , . OLTP-, , .

+1

All Articles