索引失效这个问题,是面试必问的问题!
因为索引失效的情况比较多,有很多同学记不住,面试的时候呢,回答得不好。
我仔细研究了七七四十九天,设计了一句七字口诀,记住这句口诀,以后再问到这个问题就可以拿满分了。
口诀就是:模型属空运最快
意思就是说运送一个模型要用空运,不要用陆运和海运,属空运最快,下面呢,我逐字拆开讲解一下。
第一个字呢,是模,就是代表模糊查询的意思,使用like关键字的时候,要是以百分号开头,所以就会失效。
第二个字是型,代表数据类型,如果数据类型错误了,那索引也会失效。
第三个字呢,是属,是函数的意思,对索引的字段使用内部函数,索引也会失效,这种情况呢,应该建立基于函数的索引。
第四个字呢,是空,是英文的那个Null的意思,所以呢,不存储空值,如果不限制索引列是not now,数据库呢,会认为索引列有可能存在空值,所以呢,也不会按照索引进行计算。
第五个字是运,是运算的意思,对索引列进行加减乘除等运算会导致索引失效。
第六个字呢,是最,就是最左原则的意思。在复合索引中,索引列的顺序非常重要,如果不是按照索引列最左列开始进行查找,则无法使用索引。
第七个字呢,就是快啊,全表扫描更快的意思,如果数据库预计使用全表扫描比使用索引更快,那他就不会使用索引。
这就是索引失效的七字口诀,叫模型属空运最快,你学会了吗?请大家点赞之后默念三遍,模型属空运最快。
「IT上新」2022最新【前端,大数据,人工智能,Go语言,Java,Python,产品经理,项目经理,数据分析,软件测试,Linux云计算,自动化开发,网络安全,微服务架构,大厂架构师,及大厂面试题】资料共享:it05678,来的备注CSDN,遵守平台规则目录图片就不发了。