在 C/C++ 版本中,UltraLite 数据库和管理系统将应用程序大小增加 400-500 KB。SQL Anywhere 数据库、数据库服务器和同步客户端增加大约 6 MB。
功能 | SQL Anywhere | UltraLite | 注意事项 |
---|---|---|---|
事务处理、参照完整性和多表连接 | X | X | |
触发器、存储过程和视图 | X | ||
外部存储过程(可调用的外部 DLL) | X | ||
内置参照和实体完整性 | X | X |
声明的参照完整性(在此处级联删除和更新)是 UltraLite 数据库不支持的功能,除了同步过程中为此目的级联删除时。 UltraLiteJ 不强制外键约束。 请参见避免与外键循环相关的同步问题。 |
级联更新和删除 | X | 受限 | |
动态多数据库支持 | X | X | 仅对于 UltraLite 引擎。 |
多线程应用程序支持 | X | X | |
行级锁定 | X | X | |
XML 卸载和装载实用程序 | X | UltraLite 使用单独的管理工具完成 XML 的装载和卸载。这不内置于运行时。请参见UltraLite 装载 XML 到数据库实用程序 (ulload)和UltraLite 数据库卸载实用程序 (ulunload)。 | |
XML 导出和导入实用程序 | X | SQL Anywhere 使用 SQL 语句将数据导出/导入到 XML。也可以使用 dbunload 导出数据。请参见导入和导出数据。 | |
SQLX 功能 | X | ||
SQL 函数 | X | X |
并非所有的 SQL 函数都可在 UltraLite 应用程序中使用。如果使用不受支持的函数,则会触发 [ |
SQL 语句 | X | 受限 | 与 SQL Anywhere 相比,在 UltraLite 中 SQL 语句的范围受到限制。请参见UltraLite SQL 语句。 |
集成 HTTP 服务器 | X | ||
用于数据库文件和网络通信的高度加密 | X | X | |
事件调度和处理 | X | X | UltraLite 事件模型不同于 SQL Anywhere。UltraLiteJ 不支持事件。 |
高性能、自行调优、基于开销的查询优化程序 | X | UltraLite 拥有查询优化程序,但是它不像 SQL Anywhere 中的优化程序那样范围广泛。因此,UltraLite 优化程序在复杂查询中可能不能提供像 SQL Anywhere 优化程序那样的高性能。 | |
几个线程安全的 API 的选择 | X | X | UltraLite 为应用程序开发人员提供独特的灵活体系结构,允许创建用于变化的和/或不同的部署环境的应用程序。请参见选择 UltraLite 编程接口。 |
游标支持 | X | X | 请参见UltraLite 限制。 |
使用高级高速缓存管理系统动态调整高速缓存的大小 | X | 在 UltraLite 中,高速缓存大小的调整是静态的。尽管如此,在启动数据库时,UltraLite 允许设置高速缓存的大小,为您提供缩放高速缓存大小的功能。请参见UltraLite CACHE_SIZE 连接参数。 | |
系统或应用程序失败后数据库的恢复 | X | X | |
二进制大对象 (BLOB) 支持 | X | X | UltraLite 不能索引或比较 BLOB。 |
Windows 性能监视器集成 | X | ||
联机表和索引碎片整理 | X | ||
联机备份 | X | ||
占用资源较少,可以小到 500 KB | X | 小型设备的处理器速度往往相对较慢。UltraLite 使用专用于这些设备的算法和数据结构,因此 UltraLite 可继续提供很高的性能而且使用内存较少。 | |
从桌面操作系统将设备直接连接到 Windows Mobile 设备。 | X | 允许桌面操作系统连接到 Windows Mobile 设备上部署的数据库之前,SQL Anywhere 数据库需要数据库服务器。在 UltraLite 上,只需要以 WCE:\ 作为连接字符串的前缀。请参见Windows Mobile。 | |
通过使用索引进行高性能更新和检索 | X | X |
UltraLite 使用一种机制确定是使用索引还是通过直接扫描行来搜索每张表。 此外,可以散列索引来提高数据检索速度。请参见UltraLite max_hash_size 创建参数。 |
同步到 Oracle、DB2、Sybase Adaptive Server Enterprise、Microsoft SQL Server、My SQL Sybase 或 SQL Anywhere | X | X | |
内置同步 | X | 与 SQL Anywhere 部署不同,UltraLite 不需要客户端代理以进行同步。同步内置于 UltraLite 运行时以最小化需要部署的组件。请参见UltraLite 客户端。 | |
进程中执行 | X | ||
计算列 | X | ||
声明的临时表/全局临时表 | X | ||
系统函数 | X | UltraLite 不支持 SQL Anywhere 系统函数,包括属性函数。无法将它们包含为 UltraLite 应用程序的一部分。 | |
时间戳列 | X | X |
SQL Anywhere Transact-SQL 时间戳列是使用缺省的 DEFAULT TIMESTAMP 创建的。 UltraLite 时间戳列是使用缺省的 DEFAULT CURRENT TIMESTAMP 创建的。因此,当更新行时,UltraLite 不自动更新时间戳。 |
确定基于对象的所有权及访问的基于用户的权限模式 | X | UltraLite 主要设计用于不需要授权系统的单独用户数据库。但是,可以包含最多四个用户 ID 和口令,它们仅用于验证目的。这些用户可以访问所有数据库对象。请参见UltraLite 用户验证。 | |
空间数据 | X | 受限 | UltraLite 和 UltraLiteJ 都只支持点数据。 |
全文本数据 | X |
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |