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

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 表、视图和索引 » 索引

 

复合索引

索引可以包含一个、两个或多个列。两个或更多个列上的索引被称作复合索引。例如,以下语句会创建一个具有两列的复合索引:

CREATE INDEX name
ON Employees ( Surname, GivenName );

如果第一列不能单独提供较高的选择性,复合索引将会非常有用。例如,如果许多雇员都同姓,则 Surname 和 GivenName 上的复合索引非常有用。因为每个雇员都有唯一的 ID,所以 EmployeeID 和 Surname 上的复合索引可能没有用处,因此列 Surname 不会提供任何附加选择性。

利用索引中的附加列,您可以缩小搜索的范围,但使用一个具有两列的索引不同于使用两个单独的索引。复合索引的结构与电话簿类似,它首先按姓对雇员进行排序,然后按名对所有同姓的雇员进行排序。如果您知道姓,电话簿将非常有用,如果您知道名和姓,电话簿则更为有用,但如果您只知道名而不知道姓,电话簿将没有用处。

 列顺序
 复合索引和 ORDER BY