MySQL:强制索引与使用索引

MySQL:强制索引与使用索引,mysql,indexing,Mysql,Indexing,我最近正在为MySQL表进行索引优化,我注意到强制索引和使用索引几乎具有相同的功能,我想问一下它们有什么不同?将我以上的评论作为回答: 若您使用索引,那个么您建议优化器使用这个索引,但若优化器认为它会更快,它可以使用表扫描。若您使用强制索引,那个么即使优化器认为表扫描更有效,也会让它使用该索引。只有在无法使用索引查找行时,优化器才会使用表扫描 您还可以使用强制索引,其作用类似于使用索引(INDEX_list),但具有 另外,表扫描被认为是非常昂贵的。换句话说,, 仅当无法使用给定索引之一时,才

我最近正在为MySQL表进行索引优化,我注意到
强制索引
使用索引
几乎具有相同的功能,我想问一下它们有什么不同?

将我以上的评论作为回答:

若您使用索引,那个么您建议优化器使用这个索引,但若优化器认为它会更快,它可以使用表扫描。若您使用强制索引,那个么即使优化器认为表扫描更有效,也会让它使用该索引。只有在无法使用索引查找行时,优化器才会使用表扫描

您还可以使用强制索引,其作用类似于使用索引(INDEX_list),但具有 另外,表扫描被认为是非常昂贵的。换句话说,, 仅当无法使用给定索引之一时,才使用表扫描 查找表中的行


您也可以使用强制索引,它的作用类似于使用索引(INDEX_list),但另外,表扫描被认为是非常昂贵的。换句话说,只有在无法使用给定索引之一查找表中的行时,才使用表扫描它们是相同的还是消耗更多的资源?如果您使用
使用索引
,那么您建议optimizer使用此索引,但如果optimizer认为它会更快,它可以使用表扫描。如果您使用
强制索引
,那么即使优化器认为表扫描更有效,也会让它使用此索引。只有在无法使用索引查找行时,优化器才会使用表扫描。@valex将此作为答案发布:)