VistaDB 6
VistaDB / How does VistaDB work? / Physical Database File Storage / Database limits based upon pagesize
In This Topic
    Database limits based upon pagesize
    In This Topic

    Pagesize Limitations on tables, index, etc

    Pagesize has always had a direct effect on the number of columns that could be present in a table, size of a description, max length on a view, etc. Now we are enforcing those limits a little more strictly, and PackDatabase has been updated to promote a database to the correct pagesize for the data in the database.

    All database pages have a 96 byte header that is required for tracking structures, trees, versions, etc. There are other limits on things like max binary that can be stored in extended data, etc. But that is best left for an entire page explaining things like in row versus extended row data.

    The pagesize setting of a database is limited by the current license held by the developer. This in turn effects limits in the database listed below.

    Online Information

    View the technical limits page on the website for possibly more up to date information.

    Limits set from pagesize

    Max SQL Identifier Length

    (Column Name, Table Name, Stored Proc Name, Trigger Name, CLR Assembly Name)

    1 Kb = 32 bytes
    2 Kb = 64 bytes
    3 Kb = 96 bytes
    4+Kb = 128 bytes*

    *SQL Server limits to 128 bytes, VistaDB also has this limit to ensure compatibility

    Max Expression Length

    (Check constraint, Foreign Keys, Default Value Expression)

    1 Kb = 250 bytes
    2 Kb = 500 bytes
    4 Kb = 1,000 bytes
    8 Kb = 2,000 bytes

    Extended Data Column Limits


    1 Kb = 128 Mb
    2 Kb = 512 Mb
    4 Kb = 1 Gb
    8 Kb = 2 Gb

    Maximum Size of Database

    There is no artificial limit the maximum size of the database.  All values are unsigned 64 bit integers, so the theoretical limit is 16 Exabytes but in reality the number of rows, indexes, etc will always be the limiting factor.  Each of these structures take resources when loaded into RAM just to handle them for queries.  Always test your designed load on your target hardware. The hardware is the only limiter in most situations.

    SQL Server Limitations

    Microsoft SQL Server has its own set of limitations which are necessary in any RDBMS.  For a reference, refer to SQLServerPedia about SQL Server limits

    See Also