VistaDB Features and Specifications

VistaDB 4.x Database Specifications and Limit

Skip Navigation LinksVistaDB.Net > See It! > Technical > VistDB 4 Engine Specifications

The pagesize of a database will change many of the limits on the data. Some of these values are lower than VistaDB 3.x to ensure compatibility with SQL Server.

Maximum Details
Max SQL Identifier Length

Column Name, Table Name, Stored Proc Name, Trigger Name, CLR Assembly Name
Pagesize Limit (bytes)
1 Kb 32
2 Kb 64
3 Kb 96
4 Kb - 8 Kb 128

*SQL Server limits to 128 bytes, we have imposed this limit to ensure compatibility

# of Columns in a Table

(depends on pagesize)

# of Columns in an Index

(depends on pagesize)

# of Indexes in a Table

Primary Key indexes per table: 1
Secondary indexes: (depends on pagesize)

Increasing the number of secondary indexes may affect insert and update performance since the engine must update all indexes when row changes are applied.

# of Rows in a Table

2 Billion

Not limited by engine, actually limited to machine resources for loading the trees.

# of Rows in a Transaction

Limited only by available memory constraints of the operating system or hardware. Transactions use multi-versioning record schema. New record versions are allocated for each transaction. 

Transactions degrade performance by as much as 30% compared to direct database calls.

# of Tables in a Database

32,767

In reality, the limit is based on available memory constraints of the operating system or hardware.

Size of Database File

No hard limit in database file format.  Each row, index, database object requires a tree entry.  These tree entries each require a certain amount of resources when loaded into RAM.

Theoretical limit is 16 Exabytes (uint64).  Practical limit is based upon machine resources.  Files are not limited by the database engine, but loading very large databases will require large system resources. 

Max Expression Length

Check Constraint

Foreign Key Expression

Default Value Expression

Pagesize Limit (bytes)
1 Kb 250
2 Kb 500
3 Kb 750
4 Kb 1,000
5 Kb 1,250
6 Kb 1,500
7 Kb 1,750
8 Kb 2,000

Size of CLR Assembly

Limits based upon data stored as a binary

Size of View Expression

Same pagesize limits as NTEXT column

Extended Data Columns Limits

TEXT
NTEXT
IMAGE
BINARY(MAX)

Pagesize Limit
1 Kb 128 Mb
2 Kb 512 Mb
3 Kb 768 Mb
4 Kb 1 Gb
5 Kb 1.2 Gb
6 Kb 1.5 Gb
7 Kb 1.7 Gb
8 Kb 2 Gb

Transaction Isolation Level

ReadCommitted isolation (pessimistic)

Database File Page Size

1 Kb - 16 Kb depending upon license

(see pagesize limits)


Self Imposed Limits

VistaDB was designed using 32-bit and 64-bit memory addressing in most situations that required large upper limits. The effect of supporting large upper limits are ranges that exceed 4 billion or 4GB for 32-bit values and provides massive Exabytes limits for 64-bit values.

Because of our focus on supporting the creation of small to mid size applications, supporting such enormous upper limits is not feasible for testing. Therefore we have implemented some self-imposed limits when it seemed appropriate.

Nunit Tests Included

We include hundreds of NUnit tests with the database engine to demonstrate our commitment to quality. You may run these NUnit tests locally as well to validate your installation.  The unit tests themselves are also an excellent source of code snippets and samples.

Related Links

quotesAwesome product!quotes

Read more testimonials


VistaDB 4 box shot

  • Embedded SQL Database
  • 1 MB single Dll
  • Easy SQL Server migration
  • TSQL data types and syntax
  • Royalty free distribution
  • ASP.NET Medium Trust supported for shared hosting