我建了索引,为啥执行时没有用上。

navicat for MySQL,我在求AB两表的差集,用delete a from的句子,两个表都是建立索引了的,但执行时我看到type 其中一个仍然是all,不是index,另一个用的index

AB两个表的数据集有多大?於黾说的片面了,不要过分依赖gpt,你有实际测试过就知道查询优化器是根据查询条件和表的结构选择最优的查询方式,如果B对应的查询字段也存在聚簇索引,怎么可能没使用?like匹配也不对,模式匹配过于宽泛系统有时候会放弃,但不代表没办法使用,我可以使用全文索引来做到

sql怎么写的,使用了in还是什么么

type为all,可能是MySQL优化器认为使用索引扫描不如全表扫描更快。可以尝试使用FORCE INDEX强制使用索引扫描

1.你在A字段建立索引,但是查询时使用B字段查询,不会使用索引
2.查询时使用了like语句,或者substring,不会使用索引