SQL索引,属性顺序

时间:2013-04-04 05:21:20

标签: sql

对于这个特定的SQL查询:

select firstName
from students
where lastName = "john"

在(lastName,firstName)上构建B +树索引比在(firstName,lastName)上构建索引更快以及为什么?

1 个答案:

答案 0 :(得分:1)

INDEX name (lastName,FirstName)将比INDEX name (FirstName,lastName)

更快

它也可以用于仅指定lastName值的查询,因为该列是索引的最左侧前缀

来自MySQL manual

  

如果表有多列索引,则表示最左边的前缀   优化器可以使用index来查找行。例如,如果你   在(col1,col2,col3)上有一个三列索引,你已编入索引   搜索(col1),(col1,col2)和(col1,col2,col3)的功能。