Various InterBase Limits
Go Up to InterBase Limits
Characteristic | Value |
---|---|
Maximum number of clients connected to one server |
There is no single number for the maximum number of clients the InterBase server can serve – it depends on a combination of factors including capability of the operating system, limitations of the hardware, and the demands that each client puts on the server. Applications that engage in high levels of contention or that perform complex or high-volume operations could cause the practical number of clients to be fewer. In applications that do not generate much contention, InterBase can support a large number of users, where “large” is not well-defined. |
Maximum database size |
No limit is imposed by InterBase; maximum size is defined by the operating system. Limit depends on database page size:
Limits for a database with 254 secondary tablespaces.
|
Maximum number of tablespaces |
|
Maximum number of files |
By design, 32,767 + 254(1 file per secondary tablespace) , because we use a signed 16-bit integer. Shadow files count toward this limit. This is a design parameter of InterBase, but most operating systems have a much lower limit on the number of files that a single process can have open simultaneously. In some cases, the OS provides a means to raise this limit. Refer to your OS documentation for the default open files limit, and the means to raise this limit. |
Maximum number of cache pages per database |
750,000. Not all database page sizes will be able to accommodate this limit in a 32-bit address space. When applying a large cache, other considerations must be taken into account such as the number of connections, statements or other database using memory at the same time. A large cache size will depend on whether a 32-bit executable is running on a 64-bit OS or how a 32-bit OS has been configured. This number depends on system memory, OS, InterBase version and DB page size:
|
Maximum number of databases open in one transaction |
No restriction. The parameters in a transaction parameter buffer comprise a linked list, so there is no limit except that imposed by system resources. |
Maximum number of tables |
32,640 |
Maximum table size |
Limit depends on database page size. Note that the total size for all tables cannot exceed maximum database size.
|
Maximum versions per table |
255; then no more metadata changes until the database has been backed up and restored. |
Maximum row size |
64KB. Each Blob and array contributes eight bytes to this limit in the form of their Blob handle. Systems tables (tables maintained by the InterBase engine for system data) have a row size limit of 128KB. |
Maximum number of rows and columns per table |
By design, 264 rows, are enumerated with a 64-bit unsigned integer per table, current implementation limits the numbe rof rows to 240. Number of columns in a row depends on data types used. One row can be 64K. For example, you can define 16,384 columns of type INTEGER (four bytes each) in one table. Depends on row characteristics and compression, but as many rows as can be stored in maximum table size. The highest row number is 2**38 - 1 (274,877,906,943). |
Maximum number of indexes per table |
It is possible to create 255 indexes on a single table in InterBase. A larger DB page size always enables more index definitions than smaller DB page sizes. If your DB page size is not sufficient, you will receive the error “cannot add index, index root page is full.” |
Maximum number of indexes per database |
By design, 232, because you can create 216 tables per database, and each table can have 216 indexes. Maximum number of tables x Maximum number of indexes per table |
Maximum index key size |
With the ODS 15 databases the maximum index key size limit is increased. Now larger column data can use this for both single-byte character sets and multi-byte (such as UTF8) columns. Because InterBase supports UTF8 and multiple other multi-byte character sets, the limit has been increased. For example, a single-column key using 4-byte UTF8 character would calculate to 1020/4 = 254 UTF8 characters with a 4KB page size.
Caution: Databases created with engines enabled with this functionality cannot be moved back to older versions of InterBase. Also a database restore to a smaller page size will fail if indexes with large key size cannot fit within the limit specified above. No user interface or actions are required by the user to enable this functionality. Each time a database restore is performed, the indices are recreated. Only ODS 15 and later databases have support for larger index keys. If you want to use this facility, restore your database to ODS 15. Other indices that use a smaller size than 252 bytes continue to have the same on-disk storage without any penalty. Note that multibyte character sets must fit within the key by counting bytes, not by counting characters. It is good practice to keep index keys as small as possible. This limits the depth of indexes and increases their efficiency. |
Maximum number of events |
No restriction by design, but there is a practical limit, given that there is a limit on the length of code in a stored procedure or trigger (see below). |
Maximum stored procedure |
48KB of |
Maximum Blob size |
The size of the largest single Blob depends on the database page size: A Blob is a stream of many segments. The maximum Blob segment size is 64KB. |
Maximum tables in a |
No restriction by design, but the task of joining tables is exponential in relation to number of tables in the join. The largest practical number of tables in a |
Maximum levels of nested queries |
There is no restriction by design. The practical limit depends on the type of queries you nest. Experiment with your application and a realistic volume of data to find the deepest nested query that has acceptable performance. |
Maximum number of columns per one composite index |
16 |
Levels of nesting |
|
Maximum size of key |
32 KB |
Maximum size of external table file |
64-bit file offset allows up to 16 Exabytes of information. |
Range of date values |
January 1, 100 a.d. to February 29, 32768 a.d. |
Transaction Limits |
|
Maximum number of generators per database |
|