%META:TOPICPARENT{name="VirtuosoWikiWebIndex"}%
= Changing the Default Transaction Isolation Level for a Virtuoso Server Instance =
Note that changing this default may have significant impact on performance. For most mixed-use deployments, the unset default of {{{READ COMMITTED}}} should be left unchanged.
Transaction isolation may always be changed for individual [[http://docs.openlinksw.com/virtuoso/isolation/|SQL sessions]].
SPARQL does not support transaction isolation adjustments at the session level, so users focused on RDF interaction may need to adjust this to, for instance, {{{REPEATABLE READ}}} or other setting in the table below.
# Log in to the machine that hosts your Virtuoso Universal Server.
# Open the relevant {{{virtuoso.ini}}} file in a text editor.
# Locate the {{{[Parameters]}}} section of the file. For example:
{{{
[Parameters]
ServerPort = 1111
DisableUnixSocket = 1
;SSLServerPort = 2111
...
DefaultIsolation = 4
...
}}}
# Locate the {{{DefaultIsolation}}} parameter.
# Pass the numeric value for the desired isolation level
| *Numeric Value* | *Transaction Isolation Level* |
| unset | as if set to 2, READ COMMITTED
|
| 1 | READ UNCOMMITTED
|
| 2 | READ COMMITTED
|
| 4 | REPEATABLE READ
|
| 8 | SERIALIZABLE
|
For example:
{{{
DefaultIsolation = 1 ; READ UNCOMMITTED
}}}
# Save your changes and exit the file.
# Restart your Virtuoso server.
== Related ==
* [[http://docs.openlinksw.com/virtuoso/isolation/|Virtuso SQL Transaction Isolation]]
* [[http://docs.openlinksw.com/virtuoso/lockescalation/|Virtuoso Lock Escalation]]
* [[http://docs.openlinksw.com/virtuoso/lockescalation/|Virtuoso Locking]]
* [[https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/transaction-isolation-levels?view=sql-server-ver15|ODBC Transaction Isolation Levels]]