谓语是用逻辑运算符 AND 和 OR 连接在一起的条件表达式,可在 WHERE、HAVING 或 ON 子句中组成条件集合。在 SQL 中,求值结果为 UNKNOWN 的谓语将解释为 FALSE。
可以利用索引从表中检索行的谓语被称作可优化搜索谓语。此名称来自于短语 search argument-able。涉及将列与常量、其它列或表达式进行比较的谓语可能是可优化搜索谓语。
以下语句中的谓语是可优化搜索谓语。SQL Anywhere 可以使用 Employees 表的主索引有效地计算该谓语的值。
SELECT * FROM Employees WHERE Employees.EmployeeID = 102; |
在最佳访问计划中,这显示为: Employees<Employees>
.
对比之下,以下谓语就不是可优化搜索谓语。虽然 EmployeeID 列被编入主索引,但由于结果中包含所有行(或除一行之外的所有行),因此使用此索引并不会加快计算速度。
SELECT * FROM Employees where Employees.EmployeeID <> 102; |
在最佳访问计划中,这显示为: Employees<seq>
.
类似地,没有任何索引可以帮助搜索名字以字母 k 结尾的所有雇员。同样,计算此结果的唯一方法是分别检查每一行。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |