gpt4 book ai didi

mysql - 在索引上覆盖 SELECT 给出了 using where;使用索引;而不是只使用索引;

转载 作者:行者123 更新时间:2023-11-29 11:56:05 26 4
gpt4 key购买 nike

查询:

SELECT A from table_name where A = 'a';

解释输出

1   SIMPLE  table_name  ref A_idx   A_idx   1   const   40582635    **Using where; Using index**

问题

我在 (A,B,C) 上有一个复合索引 A_idx...

我期望输出仅使用索引,因为索引涵盖了完整的查询。但我仍然得到一个 using where;使用索引...

相关列是具有以下定义的 ENUM。

A enum('a','b','c') COLLATE utf8_unicode_ci NOT NULL,

最佳答案

explain output documentation 相应部分所述,“即使您对 WHERE 子句的所有部分使用索引,如果列可以为 NULL,您也可能会看到使用 where。”

更新:文档还指出“如果 Extra 列还显示“Using where [除了使用索引]”,则意味着索引用于执行键值查找。”

关于mysql - 在索引上覆盖 SELECT 给出了 using where;使用索引;而不是只使用索引;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33179834/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com