首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在简单情况下,MySQL解释行的数量要高得多

问在简单情况下,MySQL解释行的数量要高得多
EN

Stack Overflow用户
提问于 2013-07-02 14:01:20
回答 1查看 871关注 0票数 3

我做优化工作已经有一段时间了,但是我真的不能解决这个问题。

查询:

代码语言:javascript
复制
SELECT `field` FROM `table` WHERE `column_id` = 12341

指数:

代码语言:javascript
复制
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。

  • 解释显示它使用的是column_id索引
  • 然而,它向我展示了“50.000”行
  • 实际上只有20.000行
  • 我知道解释行是一个估计,但这是一个非常容易的索引。
  • 这是一个InnoDB
  • 我试过优化表/分析表。

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

有没有什么我不知道的索引技巧?

EN

回答 1

Stack Overflow用户

发布于 2013-07-03 23:37:08

将count与explain进行比较实际上是无效的,因为(如已经链接的答案中所述),explain显示了已处理的行数,而不是结果集中预期的行数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17427643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档