以下列出了在 SQL Anywhere 11.0.0 版中引入的杂类增强。
变更无效视图 以前,无法变更 INVALID 状态的常规视图,从而需要用户删除该视图然后重新创建视图。现在,可以变更无效视图来更改定义,以使该视图不再为无效状态。
为 LENGTH 函数添加的同义词 现在,执行 LENGTH 函数时,可使用 LEN 作为 LENGTH 的同义词。请参见LENGTH 函数 [String]。
添加了对 BIG-ENDIAN 和 LITTLE-ENDIAN UTF-16 编码的支持 现在,无论平台的字节序如何,SQL Anywhere 在所有平台上都支持 BIG-ENDIAN 和 LITTLE-ENDIAN UTF-16 编码。UTF-16 编码可在 LOAD TABLE 和 UNLOAD 语句中使用,也可以和 CSCONVERT 函数一起使用。但是,不能将 UTF-16 编码用作某个连接或某个数据库的编码。请参见LOAD TABLE 语句和UNLOAD 语句。
要利用此功能,需要将数据库升级。请参见SQL Anywhere 服务器升级。
索引性能增强 已经改进了索引性能,尤其是在使用全部高速缓存的情况下操作时。要受益于增强的索引性能,必须重建索引。实现此目的的最简单方法就是重建数据库。重建后,您会发现数据库文件比以前小多了。这是正常现象,不必为此担忧。
现在 INLINE 和 PREFIX 设置与压缩列相关 以前,忽略为某列指定的 INLINE 和 PREFIX 设置并且在该列被压缩时将这些设置视为 0。现在,即使将该列压缩,该列的这些设置仍然相关。请参见BLOB 注意事项和CREATE TABLE 语句。
现在允许在批处理中使用主机变量 现在,允许在批处理中引用主机变量,但是具有一些限制。请参见批处理。
InList 算法的增强 以前,仅在 IN 列表中的所有元素都是常量值或者可在优化时经计算得到常量值时,优化程序才使用 InList 算法。现在,在 IN 列表谓语中可以包含仅在打开时计算的值(例如 CURRENT DATE、CURRENT TIMESTAMP 或者非确定型系统函数和用户定义的函数)以及在查询块的一次执行中为常量的那些值(外部引用)。
简单 DML 语句的计划高速缓存 计划高速缓存已扩展为包括可以跳过查询的 SELECT 语句(简单语句)。请参见计划高速缓存。
减小了新数据库的大小 现在,已经压缩了以下系统表中的列以减少新(空)数据库的大小,减少的空间约为 200 KB。这有益于创建在 Windows Mobile 上使用的数据库。
增加了缺省数据包大小和最小数据包大小 已将所有操作系统(Windows Mobile 除外)上的缺省数据包大小增加到 7300 字节。在 Windows Mobile 上,缺省数据包大小仍为 1460 字节。最小数据包大小已增大到 500 字节。请参见CommBufferSize (CBSIZE) 连接参数和-p dbeng12/dbsrv12 服务器选项。
远程数据访问支持新 ODBC 类 添加了对以下 ODBC 类的支持:
有关详细信息,请参见基于 ODBC 的服务器类。
如果以前使用 SQL Anywhere for MS Access 迁移实用程序(upsize 工具)将 Microsoft Access 数据库迁移到了 SQL Anywhere,则现在可使用 msaccessodbc 类。
数据库服务器消息增强 现在,为来自数据库服务器的消息指派了类别和严重级。可以使用 sa_server_messages 系统过程访问此信息,并且可以配置通过 MessageCategoryLimit 属性进行维护的消息数量。请参见sa_server_messages 系统过程。
用于 a_validate_type 枚举的新 VALIDATE_COMPLETE 参数 a_validate_type 枚举包含一个新参数 VALIDATE_COMPLETE,该参数用于对数据库执行所有可能的校验。请参见a_validate_db 结构 [数据库工具]。
外部卸载增强 执行数据库的外部卸载时,在所生成的 reload.sql 的开头部分现在包括一条注释过的 CREATE DATABASE 语句。使用该语句,可以创建一个与正要卸载的数据库相当的数据库。
如果被卸载的数据库是使用 SQL Anywhere 版本 9 或更早的版本创建的,并且包含自定义归类,则 COLLATION 子句以如下形式出现:
COLLATION collation-label DEFINITION collation-definition |
其中 collation-definition 是用于指定自定义归类的字符串。
如果被卸载的数据库是通过高度加密的方法创建的,则 CREATE DATABASE 语句中的 KEY 子句的值会显示为三个问号 (???)。
有关详细信息,请参见内部与外部卸载和重装。
新 SQL Anywhere Extension Agent OID 在本发行版本中添加了下列 OID:
有关详细信息,请参见SQL Anywhere MIB 参考。
Deadlock 系统事件 每当发生死锁时,即会触发 Deadlock 系统事件。事件处理程序可以使用 sa_report_deadlocks 过程以获得有关导致死锁的条件的信息。要使用 Deadlock 系统事件,必须升级现有数据库。请参见系统事件。
数据库限制已提高 已经提高了若干 SQL Anywhere 数据库限制。请参见SQL Anywhere 大小和数量限制。
对执行计划的更改 现在,通过优化程序生成的详细计划显示与总计划相关的以下条目:
成本最佳计划 优化程序找到的不同最佳访问计划的数目。
成本计划 优化程序考虑的不同访问计划的数目。
优化时间 优化查询所用的时间。
请参见执行计划组件。
图形式计划现在显示以下条目:
成本最佳计划 位于根节点的 [优化程序统计] 部分中的这个条目提供了优化程序找到的不同最佳访问计划的数目。
成本计划 位于根节点的 [优化程序统计] 部分中的这个条目提供了优化程序考虑的不同访问计划的数目。
优化时间 位于根节点的 [优化程序统计] 部分中的这个条目提供了优化查询所用的时间。
FirstRowRunTime 位于任何 [节点统计] 部分中的这个条目提供了读取第一行所用的时间。
考虑的连接 位于任何连接运算符的 [高级详细信息] 部分中的这个条目,列出了对连接运算符右侧的子树的优化过程中优化程序所考虑的所有连接运算符。
前置过滤器谓语 位于 [详细信息] 窗格的新扫描节点部分中的这个条目,列出了所有在启动扫描之前被计算的谓语。
扫描谓语
位于 [详细信息] 窗格的某个扫描节点部分中的这个条目,列出了所有作为从该行中读取的列来计算的谓语。如果某个扫描谓语拒绝了某行,则不能再继续读取列。扫描谓语是简单的单个列谓语,如 [T.x <= 3
] 或 [T.x IS NULL
]。
发布扫描谓语 位于 [详细信息] 窗格的新扫描节点部分中的这个条目,列出了从表页中读取某行后立即计算的谓语。发布扫描谓语可以引用多个列并且可以使用函数或算术。
驻留谓语 位于 [详细信息] 窗格的新扫描节点部分中的这个条目,列出了将一组行读入内存后计算的谓语。驻留谓语通常包含复杂运算,例如子查询或用户定义的函数,所以不能象扫描谓语或发布扫描谓语那样计算。
考虑的索引 此条目位于 [高级详细信息] 窗格中,在对由这个扫描运算符引用的表进行优化的过程中,它列出了优化程序考虑的所有索引或表扫描。列表中每一项的格式与为在 [详细信息] 窗格的访问计划中使用的扫描运算符列出的详细信息的格式类似。
主键表 此条目位于索引扫描运算符的 [索引] 部分中,提供主键表的名称。
主键表预计行数 此条目位于索引扫描运算符的 [索引] 部分中,提供主键表中的行数。
主键列 此条目位于索引扫描运算符的 [索引] 部分中,提供主键列的名称。
顺序转换 此条目位于索引扫描运算符的 [索引] 部分中,提供为每个物理索引保存的统计信息,指示该索引是如何聚簇的。
随机转换 此条目位于索引扫描运算符的 [索引] 部分中,提供为每个物理索引保存的统计信息,指示该索引是如何聚簇的。
键值 此条目位于索引扫描运算符的 [索引] 部分中,提供该索引中唯一条目的数量。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |