如何获取mysql查询以使用特定索引?

时间:2015-06-13 04:16:00

标签: mysql database indexing

SELECT * FROM orders WITH (INDEX(idx));

当我解雇上述查询时,我收到了错误

  

mysql#1064 - 您的SQL语法错误

我已创建索引

create index idx on orders(date,status);

有人能告诉我正确的语法吗?

1 个答案:

答案 0 :(得分:1)

如果索引合适,将在不明确指定的情况下使用它。

鉴于您正在使用SELECT *我不希望使用您的索引(即使INDEX提示具有正确的语法)。选择取决于查询优化器的启发式。

正确的语法是:

SELECT * FROM orders USE INDEX(idx);

参考:Index Hints

另外,请注意:100次中有99次,指定不应该指定索引提示。让优化者完成它的工作。