我正在试图弄清楚如何考虑MySQL rows
输出的explain
列。以下是MySQL documentation对此的说法:
rows列表示MySQL认为必须的行数 检查以执行查询。
所以这是我的问题:
rows
的表格的优化?rows
列的产品吗?rows
?答案 0 :(得分:7)
rows
将指示在使用索引之后将检查多少行(如果它们存在且当然适用)。这个问题意味着您对哪些索引感到困惑。他们不是一些魔术,他们只是真正的数据结构。它们的全部意义在于减少用于执行查询的数据行数。100.000
行,第二个表格中有10.000
行。但对于第一张桌子,你只选择普通值,而第二张桌子就像标准偏差一样。那就是:不仅重要的行数,而且你用它们做什么。filtered
字段表示许多行受应用条件影响(如WHERE
子句中所示)。但是 - 通常情况下,您可以将最终结果估算为10
的幂,即如果您在第一行中有123.456.789
行而在第二行中有111.222
行,则可以将其视为"选择大约1E8 x 1E5"行。