The below table lists the most important parameters and limits for a database or a Virtuoso server instance. For space consumption of individual data types, see Space Consumption .

Table 2.1. Limits

Limit Description Value
Identifier length 100
User name and password length 100
SQLstmt and proc text 100K+
varchar length Constrained by max row length when stored into non-LOB column, 10MB inside procedure code.
Numeric precision Max 40 digits
LOB column length 2GB
row length 4086
Columns per row 200
Database size 32TB for data, 32TB for temp data
Page size 8K
File size 64 bit file offsets on supporting OS's
Files per database unlimited
Table size Up to database size
Tables per database 64K keys, a table takes 1 key for primary key, 1 key per index and 1 key for each obsolete primary key layout resulting from adding or dropping columns.
Indexes per table Unlimited, subject to global cap on keys.
Row in sorting/distinct temp 4078b, as in tables
Locks per transaction Depends on memory, 16b per row lock, 60b per page with at least one row lock.
Changes per transaction Depends on memory, ini parameter allows cap on rollback before image.
Virtual memory> Depends on OS, 64 bit pointers on 64 bit platforms
Threads Depends on OS, ini files specifies cap for pool for SQL client and web server worker thread pools.
Max connections Depends on OS fdset size, at least 2048, license can set a limit
Memory per connection 22K plus up to 100 cached SQL statement compilations