Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 11 - 更改和升级 » 9.0.1 版中的新功能 » 9.0.1 版中的新功能

 

Adaptive Server Anywhere 的新功能

本节介绍 Adaptive Server Anywhere 9.0.1 版中的新功能。它提供主要和次要新功能的详尽列表,以及指向详细叙述每个功能的各章节位置的交叉引用。

OLAP 增强
语句增强
  • LOAD TABLE 增强   LOAD TABLE 语句现在增加了可以对所创建的统计信息加以限制的子句,该子句能够加快表的装载。它还有一个 SKIP 选项,可以通过它忽略文件的前几行。

    请参见LOAD TABLE 语句

  • SELECT ...INTO base-table   此新 SELECT 语法创建一个基表并用查询中的数据填充该表。

    请参见SELECT 语句

  • SQL 语句中变量的扩展支持   允许在某些位置使用变量以及常量使几个语句的灵活性得到提高。这在存储过程和批处理(在其中可以声明和使用变量)中尤其有用。它提供了以前只能在 EXECUTE IMMEDIATE 中以更麻烦的形式使用的功能。

    以下语句含有这种对变量的扩展支持:

    • 现在 SELECT 语句的 TOP 子句可以引用整数变量以及常量。请参见SELECT 语句

    • BACKUP 语句 backup-directoryarchive-root。请参见BACKUP 语句

    • RESTORE 语句 filenamearchive-root 和新的 dbspace-name。请参见RESTORE DATABASE 语句

    • LOAD TABLE 语句 filename。请参见LOAD TABLE 语句

    • UNLOAD 语句和 UNLOAD TABLE 语句 filename

  • SET 语句增强   为兼容 Microsoft SQL Server,SET 语句现在可以接受 ansi_nulls 选项(等效于 ansinull 选项)。

    有关信息,请参见SET 语句 [T-SQL]

  • ALTER TABLE 语句增强   现在 ALTER TABLE 可以向非空表添加具有缺省值的 NOT NULL 列。此功能提高了修改现有表时的灵活性。

    请参见ALTER TABLE 语句

  • ALTER VIEW 语句增强   现在 ALTER VIEW 语句支持 RECOMPILE 子句,该子句允许您在基表中的列被修改后重新创建视图定义。

    请参见ALTER VIEW 语句

  • MESSAGE 语句增强   MESSAGE 语句中添加了 FOR CONNECTION 子句。

    此外,MESSAGE 语句中还添加了 DEBUG ONLY 子句。当 debug_messages 选项设置为 ON 时,会为包含带有 DEBUG ONLY 子句的 MESSAGE 语句的所有存储过程和触发器显示调试消息。

    请参见MESSAGE 语句debug_messages 选项 [数据库]

安全性增强
  • 数据库页校验和   数据库页校验和用于检测是否已在磁盘上修改了数据库页。创建启用了校验和的数据库时,在将每一页写入磁盘前会为其计算校验和。从磁盘中读取页面时,会再次计算其校验和并与存储的校验和进行比较。如果值不同,则该页面在磁盘上时已被修改或已损坏。必须卸载现有的数据库,然后重装到启用了校验和的数据库中才能使用此功能。使用 Checksum 属性可以检查是否为数据库启用了校验和。

    有关创建具有校验和的数据库的详细信息,请参见CREATE DATABASE 语句初始化实用程序 (dbinit)数据库属性

    校验和还可用来校验数据库。请参见VALIDATE 语句校验实用程序 (dbvalid)sa_validate 系统过程

性能增强

为提高多种任务(包括复杂查询)的性能,进行了许多增强。其中一些增强是纯内部的。以下列出了其它增强:

  • 并行索引扫描   在有多个磁盘转轴(如硬件或软件 RAID 阵列)的卷上,查询优化器现在可以使用索引并行地扫描表。

    请参见ParallelIndexScan 方法

  • 聚簇散列 Group By 算法   Adaptive Server Anywhere 查询优化器可以使用新算法来提高性能,该算法对 GROUP BY 查询(其中 HAVING 子句返回行的一小部分)的特定类尤其有用。

    请参见ClusteredHashGroupBy 算法 (GrByHClust)optimization_workload 选项 [数据库]

  • 数据库服务器高速缓存预热   添加了三个新的数据库服务器命令行选项来支持高速缓存预热。高速缓存预热使用上次启动数据库时所引用的数据库页面预装载数据库服务器的高速缓存,从而帮助减少针对数据库的初始查询的执行时间。在每次启动数据库对其执行相同的查询时,使用高速缓存预热可以提高性能。

    请参见-cc 服务器选项-cr 服务器选项-cv 服务器选项使用高速缓存预热

  • 优化程序提示   WITH (XLOCK) 是 FROM 子句中一个新的表提示功能。XLOCK 指示将独占锁定提示的表中的语句所处理的行。在事务结束前,受影响的行将保持锁定状态。它在所有隔离级别都起作用。WITH INDEX 提示会强制优化程序在查询优化期间使用指定的索引。这是一项高级功能,使用不正确时可能会导致性能不良,因此只应由有经验的用户使用。

    请参见FROM 子句经常被搜索的列的索引

  • 增加 NetWare 上的内部执行线程的缺省堆栈大小   NetWare 上内部执行线程的缺省堆栈大小已增加到 128 KB。

    请参见-gss 服务器选项

编程接口增强
  • Perl 接口   Perl DBI 模块的 Perl 新 DBD::ASAny 驱动程序允许您从 Perl 脚本访问和修改 Adaptive Server Anywhere 数据库。

  • InstallShield 项目   SQL Anywhere Studio 现在加入了 InstallShield 合并模块项目和对象项目。这些项目使得 InstallShield 能够生成合并模块和对象,可以使用这些模块和对象来重新部署计算机上当前安装的软件。旧版本的 SQL Anywhere 包含合并模块和对象。这使得您可以重新部署原有软件,但对于应用了 EBF 后的部署并没有提供便利的方法。

管理增强
  • BACKUP 增强   现在 BACKUP 语句加入了 ON EXISTING ERROR 子句来进行映像备份。指定此子句后,如果要在备份期间创建的任何文件已存在,便会出现错误。

    BACKUP 语句的档案备份形式已被扩展至支持以前只能用于映像备份的选项。

    请参见BACKUP 语句

    现在备份实用程序可以在服务器计算机上创建备份。以前该实用程序只能在客户端计算机上创建备份。

    请参见备份实用程序 (dbbackup)

  • 卸载实用程序 (dbunload) 增强   现在卸载数据库时,卸载实用程序会自动处理视图依赖性。已不建议使用以前版本的软件中使用的 -j 选项,该选项用于将视图定义多次输出到 reload.sql 文件。现在,卸载实用程序会自动处理依赖其它视图的视图定义的卸载。

    卸载到新数据库中时,卸载实用程序还允许您更改数据库页面大小。

    请参见卸载实用程序 (dbunload)

  • 服务器枚举实用程序 (dblocate) 增强   现在,可以通过服务器枚举实用程序 (dblocate) 提供主机名或 IP 地址,将对数据库服务器的搜索范围限定为特定计算机。此外,该实用程序还支持 -n 选项,该选项指定不将 IP 地址解析为计算机名,而这会提高性能。

    请参见服务器枚举实用程序 (dblocate)

  • Adaptive Server Anywhere 控制台实用程序支持集成登录   当您连接到 Windows NT/2000/XP 上的 Adaptive Server Anywhere 控制台 (dbconsole) 实用程序时,可以通过 [连接] 窗口使用集成登录连接到数据库。

  • 可以更改请求日志文件的大小而不需要重新启动数据库服务器   启动数据库服务器时,可以使用 -zs 服务器选项指定请求日志文件的大小。可以使用 sa_server_option 系统过程更改请求日志文件的大小,而不必重新启动数据库服务器。

    请参见sa_server_option 系统过程

  • 为分析系统触发器添加的附加信息   在数据库中打开过程分析时,sa_procedure_profile 系统过程和 sa_procedure_profile_summary 系统过程现在会返回关于系统触发器的额外信息。

    请参见sa_procedure_profile 系统过程sa_procedure_profile_summary 系统过程

  • 新系统表   添加了一个新系统表,用于维护关于数据库用于启动的软件和平台的不同版本的信息。

    请参见ISYSHISTORY 系统表

  • 新归类   可供使用的新归类有两个:一种用于支持立陶宛语(1257LIT、ANSI 代码页 1257),另一种用于支持土耳其语 (1254TRKALT)。此土耳其语归类对 I-dot 和 I-no-dot 不加区分。

    请参见支持的归类和替代归类替代土耳其语归类 1254TRKALT

  • dedicated_task 选项   指定后,将有一个请求处理任务专用于处理来自某单个连接的请求。在数据库服务器意外地不做响应时,可以通过此预先建立的连接收集有关该数据库服务器状态的信息。

    请参见dedicated_task 选项 [数据库]

Interactive SQL 增强
  • Interactive SQL 可以指定用于读写文件的编码   现在 Interactive SQL READ、INPUT 和 OUTPUT 语句支持一个可选编码子句,可以通过它指定读取或写入文件时使用的字符编码。添加了 default_isql_encoding 选项,可以通过它指定用于后续 READ、INPUT 和 OUTPUT 语句的字符编码。

    请参见default_isql_encoding 选项 [Interactive SQL]READ 语句 [Interactive SQL]INPUT 语句 [Interactive SQL]OUTPUT 语句 [Interactive SQL]

    使用 Interactive SQL 导入和导出向导时,您也可以指定用于读写文件的字符编码。

    请参见导入和导出数据

  • Interactive SQL 支持集成登录   当您连接到 Windows NT/2000/XP 上的 Interactive SQL 时,可以通过 [连接] 窗口使用集成登录连接到数据库。

  • Interactive SQL 允许您配置用于显示结果集的字体   可以为显示在 Interactive SQL 的 [结果] 窗格中的数据选择字体、字形和磅值大小。

  • Interactive SQL 允许您指定用于文件浏览的初始文件夹   在 Interactive SQL 中浏览文件时,可以指定 Interactive SQL 是使用当前目录(由操作系统定义)还是上一次打开文件时所在的文件夹作为初始目录。

Sybase Central 增强
  • Sybase Central 允许您配置用于显示结果集的字体   选中一个表后,可以为显示在 Sybase Central 的 [数据] 选项卡上的数据选择字体、字形和磅值大小。

  • [创建远程服务器向导] 现在支持为当前用户创建外部登录   [创建远程服务器向导] 现在允许为当前用户创建外部登录,这样就不必在创建远程服务器之前创建外部登录。

    请参见使用 Sybase Central 创建远程服务器

  • Sybase Central 支持集成登录   当您连接到 Windows NT/2000/XP 上的 Sybase Central 时,可以通过 [连接] 窗口使用集成登录连接到数据库。

  • 可以在 Sybase Central 中使用 [查看] 菜单为列排序   Sybase Central 的 [查看] 菜单中有 [排序] 菜单项,可以用来为右窗格中的列排序,另一方法是在右窗格中单击列标题。

  • 可以在外键属性窗口中修改外键设置   在 Sybase Central 中可通过 [外键] 属性窗口更改外键设置。

  • [代理表] 向导现在显示主键列信息   以前在使用 [代理表] 向导创建代理表时,无法确定哪些列属于远程表的主键。现在,向导中对主键中的列进行了标识。

  • 可以取消实用程序向导   [升级数据库向导]、[备份数据库向导]、[恢复数据库向导]、[校验数据库向导]、[压缩数据库向导]、[解压缩数据库向导] 和 [创建备份映像向导] 都可以取消。它们还加入了一个消息窗口,其中显示有关操作是否成功的状态信息。

  • 创建和编辑服务时,Sybase Central 支持 domain\user 形式的帐户名   现在创建和编辑服务时,可以通过 [创建服务向导] 和 [服务] 属性窗口输入 domain\user 形式的帐户名。可以在 [服务] 属性窗口 [帐户] 选项卡的 [其它帐户] 字段或 [创建服务向导] 中输入帐户名。

其它增强
  • 在 Linux 平台上,数据库服务器使用异步 I/O   在 Linux 上运行数据库服务器时,数据库服务器在缺省情况下会尽可能使用异步 I/O。通过 -ua 数据库服务器选项可以禁用异步 I/O。

    请参见-ua 服务器选项

  • openxml 支持等式谓语   可以通过 openxml 函数在 XPath 表达式中使用等式谓语。通过此功能可以使用属性值找到 XML 文档内的节点。

    请参见openxml 系统过程

  • TransactionStartTime 连接属性   该属性返回数据库在 COMMIT 或 ROLLBACK 操作后第一次修改的时间。

    请参见连接属性

  • UserAppInfo 属性   该属性返回连接字符串中用 AppInfo 连接参数指定的部分。

    请参见连接属性

  • ConsoleLogFile 服务器属性   此属性返回指定 -o 服务器选项时记录数据库服务器消息窗口中消息的文件的名称。

    请参见数据库服务器属性

  • UNIX 平台上的 DriveType 数据库属性   DriveType 数据库属性已被扩展至 UNIX 平台。

    请参见数据库属性

  • 连接 ID 从 1 开始并为数据库服务器的每个新连接递增   数据库服务器启动时,系统会为至该服务器的每个连接指派一个连接 ID(起始连接 ID 为 1),每当新建立一个至该服务器的连接时,连接号便会增加 1。连接 ID 记录在 -z 服务器输出和 LogFile 连接参数输出中。CONNECTION_PROPERTY、NEXT_CONNECTION、NEXT_DATABASE 和 DROP CONNECTION 函数以及请求记录也会使用它们。

    请参见CONNECTION_PROPERTY 函数 [System]NEXT_CONNECTION 函数 [System]NEXT_DATABASE 函数 [System]请求记录

  • NetWare 和 UNIX 中改进的高速缓存管理   当用 -c 指定的高速缓存大小大于 UNIX 或 NetWare 上的可用内存量时,数据库服务器即会根据可用内存计算最大高速缓存大小。

    有关数据库服务器如何在上述情况下计算最大高速缓存大小的详细信息,请参见-c 服务器选项

  • odbc_distinguish_char_and_varchar 选项   odbc_distinguish_char_and_varchar 选项控制 Adaptive Server Anywhere ODBC 驱动程序描述 CHAR 列的方式。

    请参见odbc_distinguish_char_and_varchar 选项 [数据库]