大型表中已过滤的列

如果一个列经常用于过滤大表中的行,那么应考虑为其放置一个索引。 优化器可以使用此索引来选择所需要的列,从而避免对整个表进行顺序扫描。

假设您有一个包含很大邮件列表的表。如果您发现邮政编码列经常用于过滤行的子集,就应考虑为该列放置一个索引。

仅当该列的选择性很高时(即,仅当小部分行具有任何一个索引值时),此策略才能显著节省时间。 通过索引进行的非顺序访问比顺序访问多使用一些磁盘 I/O 操作,所以如果列的过滤器表达式传递四分之一以上的行,那么数据库服务器可能也会顺序读取该表。

通常,在以下情况下,为一个过滤器列建立索引可以节省时间: