索引提示

索引提示

使用mysql时,indexHints 可用于选择性地传递索引提示. 提示类型必须是来自 Sequelize.IndexHints 的值,值应该引用现有索引.

索引提示覆盖 mysql 查询优化器的默认行为.

Project.findAll({
  indexHints: [
    { type: IndexHints.USE, values: ['index_project_on_name'] }
  ],
  where: {
    id: {
      [Op.gt]: 623
    },
    name: {
      [Op.like]: 'Foo %'
    }
  }
})

将生成一个如下所示的 mysql 查询:

SELECT * FROM Project USE INDEX (index_project_on_name) WHERE name LIKE 'FOO %' AND id > 623;

Sequelize.IndexHints 包含 USE, FORCE, 和 IGNORE.

有关原始API提案,请参阅Issue #9421.