如果我在mysql中创建两个字段索引,我是否需要一个字段索引

时间:2016-10-25 00:32:41

标签: mysql indexing

我有一张桌子'命令'有字段

  • ID
  • USER_ID
  • PROJECT_ID
  • 等。

其中两种选择

  1.   

    选择*表单订单,其中user_id = val1

    1.   

      选择*表单订单,其中user_id = val1和project_id = val2

    2. 如果我在user_id + project_id上为第二种选择创建多列索引我是否需要创建 user_id上的一列索引,用于加速第一类选择?

1 个答案:

答案 0 :(得分:0)

您只需要一个表索引。 。 。 orders(user_id, project_id)。这可以用于两个查询,因为最左侧的键(user_id)在第一个查询中具有相等条件。但是,密钥必须按此顺序排列。

MySQL在多列索引上有很好的documentation