GBase8s SQL语法:ALTER FUNCTION与ALTER INDEX

需积分: 0 0 下载量 43 浏览量 更新于2024-08-05 收藏 110KB DOCX 举报
本文档主要介绍了南大通用GBase8s数据库系统中的两种SQL语句:ALTER FUNCTION和ALTER INDEX,它们是GBase8s对SQL ANSI/ISO标准的扩展。 **ALTER FUNCTION语句** ALTER FUNCTION语句用于修改用户定义的函数(UDF)的特性,如例程修饰符或路径名。这一功能允许用户根据需要调整函数的性能。例如,你可以通过设置或添加PARALLELIZABLE修饰符来让函数在并行数据查询环境下执行。只有函数的所有者或数据库管理员(DBA)有权执行ALTER FUNCTION语句。关键字MODIFY和ADD可用于改变或添加例程修饰符,例如使函数变为并行可执行。 **示例** 假设我们有一个名为`func1`的函数,你可以通过以下两种方式使其变为并行执行: 1. `ALTER FUNCTION func1 WITH (MODIFY PARALLELIZABLE);` 2. `ALTER FUNCTION func1 WITH (ADD PARALLELIZABLE);` **ALTER INDEX语句** ALTER INDEX语句用于改变已存在的索引的集群属性,但不能更改索引的排列顺序或应用于临时表或由数据库服务器自动创建的约束索引。使用TOCLUSTER选项可以将物理表的行按照索引键值顺序进行物理重排。 **TOCLUSTER选项** 当使用ALTER INDEX语句的TOCLUSTER选项时,数据库服务器会根据索引键值顺序重建表。这会导致旧表的extent被释放,新表不会有空的extent。对于升序索引,行将从最小到最大值排序;对于降序索引,排序顺序则相反,从最大到最小值。 需要注意的是,ALTER INDEX不适用于树型索引,且在已经指定了非默认排序顺序后使用ALTER INDEX,SETCOLLATION语句对索引的排序没有影响。 GBase8s提供了ALTER FUNCTION和ALTER INDEX这样的高级SQL操作,允许用户对自定义函数和索引进行更灵活的管理和优化,以适应不同的数据库性能需求。这些特性对于数据库管理员来说是非常有价值的工具,能够提升系统的整体效率和响应速度。