负向条件查询不能使用索引,可以优化为in查询。
负向条件有:!=、<>、not in、not exists、not like等。
优化策略A:字段选择性
1、选择性较低索引 可能带来的性能问题
2、索引选择性=索引列唯一值/表记录数;(可执行show index from tableName命令看字段的Cardinality(散列程度))
3、选择性越高索引检索价值越高,消耗系统资源越少;选择性越低索引检索价值越低,消耗系统资源越多;
4、查询条件含有多个字段时,不要在选择性很低字段上创建索引
5、可通过创建组合索引来增强低字段选择性和避免选择性很低字段创建索引带来副作用;文章来源:https://www.toymoban.com/news/detail-820161.html
6、尽量减少possible_keys,正确索引会提高sql查询速度,过多索引会增加优化器选择索引的代价,不要滥用索引;文章来源地址https://www.toymoban.com/news/detail-820161.html
到了这里,关于mysql 负向条件查询不能使用索引的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!