企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
#### MySQL智能选择 如果mysql认为,全表扫描不会慢于使用索引,则mysql会选择放弃索引,直接使用全表扫描。一般当取出的数据量超过表中数据的20%,优化器就不会使用索引,而是全表扫描。 ![](https://box.kancloud.cn/a000612cbdc4de015203fbd2b898f130_785x532.png) **所以,满足了语法规则,索引不一定能使用!** #### MySQL的典型的选择依据: 随机IO开销,与顺序IO开销之间的选择。 随机IO开销: 利用索引确定记录位置,直接定位到位置上,获取记录。 顺序IO开销: 整表扫描,从第一条记录,遍历后续的最后的记录。 如果出现大量的随机开销,MySQL会判断是否总开销会大于整表扫描的开销,如果认为大于,则会放弃使用索引,而使用整表扫描代替!