MySQL中有没有禁止未索引查询的方法?

MySQL中有没有禁止未索引查询的方法?,mysql,indexing,Mysql,Indexing,我想阻止任何不使用主键或现有索引的查询。 有没有办法在会话或服务器级别强制执行此操作?简短回答:没有 回答不太长:您可以使用至少捕获“慢”查询并创建必要的索引 更详细的回答:索引的使用主要取决于查询计划器。因此,可能存在存在候选索引的情况,但引擎更愿意放弃它。因此,对于像您想要的那样的实体限制,这有点混乱。我的目标是真正禁止这些限制,以防止我们的开发人员以我们不希望的方式进行查询。我们希望它快速失败,让他们知道自己做错了什么。我认为实现类似于您的目标的唯一方法是拒绝对表的访问权限,并提供专门编写

我想阻止任何不使用主键或现有索引的查询。 有没有办法在会话或服务器级别强制执行此操作?

简短回答:没有

回答不太长:您可以使用至少捕获“慢”查询并创建必要的索引


更详细的回答:索引的使用主要取决于查询计划器。因此,可能存在存在候选索引的情况,但引擎更愿意放弃它。因此,对于像您想要的那样的实体限制,这有点混乱。

我的目标是真正禁止这些限制,以防止我们的开发人员以我们不希望的方式进行查询。我们希望它快速失败,让他们知道自己做错了什么。我认为实现类似于您的目标的唯一方法是拒绝对表的访问权限,并提供专门编写的存储过程,其中包含经过调优以使用索引的查询。这是一个负担,可能是发展政策的转变。从我在MySQL中看到的情况来看,它没有提供会话/服务器级别所需的内容。希望你能找到一条路!