聚集索引 primary key 唯一索引 unique 普通索引 alter table t1 all index index_name(id)
索引的作用是加速查找
覆盖索引: select name from t1 where id = 20 命中了辅助索引但是为覆盖到索引 还需要从聚集索引中查找name 会进行二次查找,一次查找不到 select id name from t1 where id = 20 命中索引 一次就找到 覆盖到了索引
联合索引: 索引是有个最左匹配原则 所以建立联合索引的时候将区分度高的放最左边 依次排下来 范围查询的条件往后放
如果where条件是or的关系 加索引不起作用
联合索引又称符合索引,对于复合索引 MySQL 从做到有的使用索引中的字段 一个查询可以只使用索引中的一部分 但是只能是最左侧的部分 例如索引是 key index(a,b,c) 可支持a|a,b|abc 三种组合进行查找,但不支持b,c查找
两个或两个以上的索引被称为复合索引
联合索引创建方式就是在普通索引的括号里添加两个或两个以上的字段 聚集 唯一 辅助 都可以
只有当联合索引的第一个字段在where 条件中出现时 才会使用索引查询 不然就是全表扫描查询