![](https://csdnimg.cn/release/download_crawler_static/88061598/bg4.jpg)
6. 在建立索引的时候,都有哪些需要考虑的
因素呢?
建立索引的时候一般要考虑到字段的使用频率,经常作为条件进行查询的字段
比较适合.如果需要建立联合索引的话,还需要考虑联合索引中的顺序.此外也
要考虑其他方面,比如防止过多的所有对表造成太大的压力.这些都和实际的表
结构以及查询方式有关.
7. 联合索引是什么?为什么需要注意联合索
引中的顺序?
MySQL 可以使用多个字段同时建立一个索引,叫做联合索引.在联合索引中,如
果想要命中索引,需要按照建立索引时的字段顺序挨个使用,否则无法命中索引.
具体原因为:
MySQL 使用索引时需要索引有序,假设现在建立了"name,age,school"的联合
索引,那么索引的排序为: 先按照 name 排序,如果 name 相同,则按照 age 排序,
如果 age 的值也相等,则按照 school 进行排序.
当进行查询时,此时索引仅仅按照 name 严格有序,因此必须首先使用 name 字
段进行等值查询,之后对于匹配到的列而言,其按照 age 字段严格有序,此时可
以使用 age 字段用做索引查找,,,以此类推.因此在建立联合索引的时候应该注