The following table illustrates hard limits that apply to UltraLite and UltraLite Java edition databases. In many cases, the limits are beyond the maximum capabilities of mobile devices. Performance considerations and device capabilities impose stricter limitations.
Item | UltraLite database limitations | UltraLite Java edition database limitations |
---|---|---|
Database and file size |
4 GB or less if there is an operating system limit on file size. |
Limited by the operating system. The number of database pages is limited to 64 K. |
Temporary file size | Limited by the operating system. | Not applicable. |
Cache size | Limited by the available memory on the device. | Limited by the available memory on the device. |
Dynamic cache sizing |
UltraLite allows you to set an initial, minimum, and/or maximum cache size for a database. The size of the cache is optimized by UltraLite on an ongoing basis, up to the maximum size (if specified). See: |
UltraLite Java edition databases support fixed cache sizes only. |
Maximum number of concurrent open connections supported by a database | Up to 14. | No limit. |
Maximum number of concurrent open connections to all databases | Up to 16 on a mobile device, and up to 64 on a desktop. | No limit. |
Maximum number of databases that can run concurrently | Up to 8 on a mobile device, and up to 32 on a desktop. | No limit. |
Maximum number of applications that can connect to a database concurrently | Use the UltraLite engine to handle multiple concurrent applications connecting to the database. Otherwise, only one application can connect to a database at one time. | 1 |
SQL communication areas (SQLCA) | Up to 63. | Not applicable. |
Rows per table |
Up to 16 million. Sometimes changes to the row (deletes and updates) and other state information are maintained with the row data. This information allows those changes to be synchronized. So, the actual row limit can be smaller than 16 million, depending on the number of transactions on a table between synchronization, or whether the table is synchronized at all. See UltraLite transaction processing. |
Limited by the page size and the maximum number of pages per database. |
Row Size |
The length of each packed row must not exceed the page size. See Row packing and table definitions. Character strings are stored without padding when they are shorter than the column size. This restriction excludes columns declared as LONG BINARY and LONG VARCHAR as these strings are stored separately. |
The length of each packed row must not exceed the page size. See Row packing and table definitions. Character strings are stored without padding when they are shorter than the column size. This restriction excludes columns declared as LONG BINARY and LONG VARCHAR as these strings are stored separately. |
Rows per database | Limited by the persistent store. | Limited by the persistent store. |
Table size | Limited by the database size. | Limited by the database size. |
Tables per database | Limited by the database size. | Up to 32000. |
Columns per table | Row size is limited by page size, so the practical limit on the number of columns per table is derived from this size. Typically, this practical limit is much less than 4000. | Row size is limited by page size, so the practical limit on the number of columns per table is derived from this size. Typically, this practical limit is much less than 4000. |
Indexes per table | Limited by the database size. | Limited by the database size. |
Number of publications | Up to 63. | Up to 63. |
Database page size | Minimum 1 K; up to 16 KB. | Minimum 256 bytes; up to 16 KB. |
Cursors per connection | The maximum number of allowable cursors on a given connection to an UltraLite database is 64 (all platforms). | The maximum number of allowable cursors on a given connection to an UltraLite database is 64 (all platforms). |
Strings | The row must fit on a page. | The row must fit on a page. |
Binary data types | The row must fit on a page. | The row must fit on a page. |
Long binary/long varchar size | Limited only by database size. | Limited only by database size. |
Blob size | Limited by file size. | Up to 224 bytes. |
Available Isolation levels | 0 (read uncommitted) or 1 (read committed). | 0 (read uncommitted). |
Cascading updates and deletes | Declarative referential integrity, where deletes and updates are cascaded, is a feature that is not supported in UltraLite databases, except during synchronization when deletes are cascaded for this purpose. | Not supported. |
Event scheduling and handling | An UltraLite event model differs from SQL Anywhere. | Not supported. |
UltraLite Java edition database compatibility |
UltraLite databases are not interchangeable with UltraLite Java edition databases. An UltraLite database can be converted into an UltraLite Java edition database and vice versa using the respective load and unload utilities. See: |
UltraLite databases are not interchangeable with UltraLite Java edition databases. An UltraLite database can be converted into an UltraLite Java edition database and vice versa using the respective load and unload utilities. See: |
![]() |
Discuter à propos de cette page dans DocCommentXchange.
|
Copyright © 2013, SAP AG ou société affiliée SAP - SAP Sybase SQL Anywhere 16.0 |