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 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.

  1. Log in to the machine that hosts your Virtuoso Universal Server.
  2. Open the relevant virtuoso.ini file in a text editor.
  3. Locate the [Parameters] section of the file. For example:


    [Parameters] ServerPort = 1111 DisableUnixSocket = 1 ;SSLServerPort = 2111 ... DefaultIsolation = 4 ...

  4. Locate the DefaultIsolation parameter.
  5. 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

  6. Save your changes and exit the file.
  7. Restart your Virtuoso server.

Related