Mysql:FORCE INDEX vs USE INDEX

时间:2013-12-27 08:39:19

标签: mysql indexing

我最近正在研究mysql表的索引优化,我注意到FORCE INDEXUSE INDEX几乎提供相同的功能,我想问一下它们的不同之处?< / p>

1 个答案:

答案 0 :(得分:21)

将上述评论作为答案发布:

如果您使用USE INDEX,那么您推荐优化器使用此索引,但如果优化器认为它更快,它可以使用表扫描。如果您使用FORCE INDEX,那么即使它认为表扫描更有效,也可以使优化器使用此索引。仅当无法使用索引查找行时,优化程序才会使用表扫描。

Index Hint Syntax:

  

你也可以使用FORCE INDEX,它的作用类似于USE INDEX(index_list)但是       假设表扫描非常昂贵。换一种说法,       只有在无法使用其中一个给定索引时才使用表扫描       在表格中查找行。