在一次请求接口中数据返回特别慢, 最后查到sql
发现并没有走索引
但是radar_point_id列上确实加了索引, 这就很奇怪了
最终得知, MySQL当对一列进行操作时,如果in的条件太多,即使这列上有索引,也是导致执行计划不走索引因为搜索的记录数太多,MySQL会认为全表扫描可能会更快
可以看到 id为18和33的两个数据占据大多数记录, 下面吧这两个删除执行
发现此时已经走了索引
在一次请求接口中数据返回特别慢, 最后查到sql
发现并没有走索引
但是radar_point_id列上确实加了索引, 这就很奇怪了
最终得知, MySQL当对一列进行操作时,如果in的条件太多,即使这列上有索引,也是导致执行计划不走索引因为搜索的记录数太多,MySQL会认为全表扫描可能会更快
可以看到 id为18和33的两个数据占据大多数记录, 下面吧这两个删除执行
发现此时已经走了索引