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