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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 创建数据库 » 使用数据库对象 » 使用索引

 

何时使用索引

索引会按表中的一个或多个列将行排序。索引像一个电话号码簿,电话号码簿先按照姓进行排序,然后按照名对相同的姓进行排序。这种排序加快了对特定的姓搜索其电话号码的速度,但它对查找位于特定地址的电话号码未提供任何帮助。同样,数据库索引只对一个或多个特定列的搜索有帮助。

随着表的大小不断增大,索引的用途也越来越大。随着电话号码簿内容的增多,查找某个给定地址的电话号码所需的平均时间也将会增加。但是,与在一个较小的电话号码簿中查找某个人(比方说 K. Kaminski)的电话号码相比,在一个较大的电话号码簿中查找所花费的时间不会长很多。

当存在合适的索引并且使用该索引将提高性能时,数据库服务器查询优化程序将自动使用索引。

创建索引也有一些负面影响。特别是当修改列中的数据时,所有索引都必须与表本身保持一致,从而导致索引可能会影响插入、更新和删除的性能。因此,应该删除不必要的索引。请使用索引顾问来识别不必要的索引。请参见获取对查询的 [索引顾问] 建议