优化程序伪指令需要有效的注释指示符作为定界符。
一条优化程序伪指令或一列优化程序伪指令以注释形式紧跟在关键字 DELETE 、SELECT 或 UPDATE 后面,在注释符号后面,优化程序伪指令的第一个字符总是加号(+)。在注释指示符和加号之间不允许有空格或其它空字符。
双连字号不需要结束符,因为它表示只有当前行的剩余部分是注释。当使用这种符号时,只包括当前行的优化程序伪指令。
从左括号( { )到右括号(})之间的部分都是注释的;可以在同一行也可以在后面的几行。
从开始的斜线-星号(/*)对到同一行或下面几行的下一个星号-斜线(*/)字符之间都是注释。
在 GBase 8s ESQL/C 中,esql 编译器的 -keepccomment 命令可选项在使用 C 语言样式的注释时必须指定。
有关其它信息,请参阅如何输入 SQL 注释。
如果在同一查询中指定多个伪指令,那么必须使用空格、逗号或所选择的任何字符把它们分隔开。建议用逗号分隔连续的指令。
如果查询为表声明了别名,那么在优化程序伪指令规范中使用这个别名(而不是实际的表名)。因为系统生成的索引名是以空字符开头的,所以要用引号为这种名称定界。
优化程序伪指令中的语法错误不会导致合法查询的失败。使用 SET EXPLAIN 语句可以获得这种错误的相关信息。
在分布式查询中,优化程序伪指令可以通过使用 database:table or database:owner.table 表示法来引用同一服务器实例中的其它数据库的对象,以限定本地数据库服务器的另一个数据库中的表的名称。