常见的 LIKE 谓语通常包含作为文字常量或主机变量的模式。根据 LIKE 谓语包含的模式,优化程序可能会完全重写该 LIKE 谓语,或者用附加的条件(它们可用来对相应表执行索引检索)扩大该 LIKE 谓语。LIKE 谓语的附加条件使用 LIKE_PREFIX 谓语,这不能直接在查询中指定,但当查询优化程序可以应用优化时会出现在详细计划和图形式计划中。
在下面的每一个示例中,假定 LIKE 谓语中的模式是文字常量或主机变量,X 是基表中的列:
X LIKE '%'
被重写为 X IS NOT NULL
。
X LIKE 'abc%'
使用属于可优化搜索谓语的 LIKE_PREFIX 谓语(其可用于索引检索)来扩大并强制实施任何 X 值必须以字符 abc 开头这一条件。LIKE_PREFIX 强制执行具有多字节字符集和填补空白的数据库的正确语义。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |