在具有索引的用户表中,可以使用SingleColumnValueFilter来查询数据。当查询条件可以命中索引时,查询速度远快于原表查询。
索引的命中规则如下。
当用于查询的列至少包含索引第一个列时,使用索引会提高查询性能。
例如,为IndexCol1、IndexCol2和IndexCol3创建组合索引。
该索引在以下情况下生效。
Filter_Condition(IndexCol1)AND Filter_Condition(IndexCol2)AND Filter_Condition(IndexCol3) Filter_Condition(IndexCol1)AND Filter_Condition(IndexCol2) Filter_Condition(IndexCol1)AND Filter_Condition(IndexCol3) Filter_Condition(IndexCol1) Filter_Condition(IndexCol1)AND Filter_Condition(NonIndexCol1) Filter_Condition(IndexCol1)AND Filter_Condition(IndexCol2)AND Filter_Condition(NonIndexCol1)
该索引在下列情况下不生效。
Filter_Condition(IndexCol2)AND Filter_Condition(IndexCol3) Filter_Condition(IndexCol2) Filter_Condition(IndexCol3) Filter_Condition(NonIndexCol1)
Filter_Condition(IndexCol1)OR Filter_Condition(IndexCol1)OR Filter_Condition(IndexCol1)
Filter_Condition(IndexCol1)OR Filter_Condition(IndexCol2)
Filter_Condition(IndexCol1)OR Filter_Condition(NonIndexCol1)
(Filter_Condition(IndexCol1)AND Filter_Condition(NonIndexCol1))OR(Filter_Condition(IndexCol1)AND Filter_Condition(IndexCol2))