MySQL : FORCE INDEX vs USE INDEX

标签 mysql indexing

我最近致力于 MySQL 表的索引优化,我注意到
FORCE INDEXUSE INDEX 几乎提供相同的功能,我想问问他们有什么不同?

最佳答案

发表我以上评论作为答案:

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

Index Hint Syntax:

You can also use FORCE INDEX, which acts like USE INDEX (index_list) but with the addition that a table scan is assumed to be very expensive. In other words, a table scan is used only if there is no way to use one of the given indexes to find rows in the table.

关于MySQL : FORCE INDEX vs USE INDEX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20797475/

相关文章:

mysql - SQL查询和计数

mysql - 类别平均价格 SQL 查询

sql - Mysql 内部查询不工作

tsql - Sybase 存储过程 - 如何在 #table 上创建索引?

matlab - 如何更改矩阵中多个点的值?

c# - 选择到数组中

mysql - 如何从组不包含值的表中选择行

ios - 使用swift查找数组中某个值的索引

java - 如何从监听器禁用 Jcombobox 项目?

MySQL 通过连接、分组、按计数进行优化