【问题标题】:Extra in EXPLAIN printing - 'Impossible WHERE noticed after reading const tables'EXPLAIN 打印中的额外内容 - '在阅读 const 表后不可能注意到 WHERE'
【发布时间】:2013-02-03 21:26:29
【问题描述】:

我有一个名为“million_words”的简单表格。它有一行两列 -> id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY & word VARCHAR(50 NOT NULL.

我运行这个查询 -: EXPLAIN SELECT * FROM million_words WHERE word = '-anon'

Extra 列然后打印:'Impossible WHERE noticed after reading const tables,即使该行清楚地存在于表中。

怎么了

【问题讨论】:

    标签: mysql explain


    【解决方案1】:

    来自 MySQL 文档

    不可能在阅读 const 表后注意到 WHERE”:
    MySQL 已读取所有 const(和 system)表,并注意到 WHERE 子句始终为 false。参考this


    该表最多有一个匹配行,在查询开始时读取。 因为只有一行,所以这一行中的列的值可以被优化器的其余部分视为常量。 const 表非常快,因为它们只被读取一次。

    const 用于将PRIMARY KEYUNIQUE index 的所有部分与常量值进行比较。参考this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-03
      • 2017-01-26
      • 2016-10-05
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多