gpt4 book ai didi

MySQL EXPLAIN 行数在简单的 WHERE 条件下要高得多

转载 作者:行者123 更新时间:2023-11-29 01:03:40 25 4
gpt4 key购买 nike

我已经研究了一段时间的优化,但我真的无法破解这个。

查询:

SELECT `field` FROM `table` WHERE `column_id` = 12341

索引:

ALTER TABLE `table`
ADD INDEX `column_id` (`column_id`);

现在查询的解释(EXPLAIN SELECT field FROM table WHERE column_id = 12341)显示有 50.000 行。然而,实际上只有 20.000 行的 column_id = 12341。

  • EXPLAIN 告诉我它正在使用 column_id 索引
  • 但是,它显示有“50.000”行
  • 实际上它只有 20.000 行
  • 我知道 EXPLAIN 行是一个估计值,但这是一个非常简单的索引..
  • 这是一个 InnoDB
  • 我试过优化表/分析表..

现在这可能很烦人,因为 MySQL 使用行数估计来选择正确的索引,它可能最终选择错误的索引,仅仅是因为错误的估计。

是否有一些我不知道的索引技巧?

最佳答案

countexplain 进行比较并不是真正有效的,因为(如已经链接的答案中所述)explain 显示处理的行数,而不是结果集中预期的数字。

关于MySQL EXPLAIN 行数在简单的 WHERE 条件下要高得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17427643/

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