当前位置:  开发笔记 > 后端 > 正文

索引<或> MySQL查询?

如何解决《索引<或>MySQL查询?》经验,为你挑选了1个好方法。



1> MarkR..:

也许.通常,如果存在这样的索引,如果查询上没有"更好"的索引,它将对该索引使用范围扫描.但是,如果优化器决定范围最终会过大(即包括超过1/3的行),它可能根本不会使用索引,因为表扫描很可能是快点.

使用EXPLAIN(在SELECT上;您不能解析删除)来确定在特定情况下的决定.这可能取决于

表格中有多少行

您指定的范围是什么

WHERE子句中指定了什么.如果有另一个"看起来更好"的索引,它将不会使用一个索引的范围扫描.


也许这应该是一个额外的问题,但有一个简单的答案(或参考MySQL文档的一部分),解释了优化者如何决定范围太大?具体情况在WHERE中没有别的.
推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有