索引匹配
索引匹配:
对于单一列的索引,如果列单独出现,没有函数或操作符和比较操作符,则一个索引匹配下列某项:
=,>,<,>=,<=(but not <>)
BETWEEN
IS NULL
IN<常量列表>
LIKE “模式”,但不能以(%,_)作为模式的起始符
对于包含多列的复合索引,匹配规则更复杂和严格。复合索引的列按照重要程度由高(在索引中的第一列)到低(在索引中的最后一列)排序。复合索引匹配的规则如下:
索引的第一列一定有匹配条件。
列的匹配是从左(最重要的)到右(不重要的)的,没有索引列匹配是索引停止。
大多数情况下,只有一个BETWEEN条件语句。在BETWEEN之后不存在其他条件语句。
大多数情况下,只有一个IN条件匹配索引列。匹配到最后一个条件则停止,第二个条件不能有IN或BETWEEN。
连接:嵌套循环,合并排序,混合联接,Hash联接,星形联接